ValveSoftware / Dota2-Gameplay

Public Bug Tracker for Dota2
1.48k stars 87 forks source link

Hide public information during the draft phase #878

Closed Kalabasa closed 1 year ago

Kalabasa commented 2 years ago

Description

Making a new ticket based on suggestions in #559, as that ticket asks for a separate solution (VAC ban).

Problem

During the draft phase in pubs, some people use third-party programs to scrape information about players in the enemy team that is infeasible to obtain otherwise, leading to an unfair advantage in drafting.

Suggestion

Overwolf

For Overwolf specifically, I don't know how Overwolf hooks up with game data.

  1. Does it look at the public match data? You see, matches get published as soon as the drafting phase. If so, then a solution would be to not publish the match until after the drafting phase. Nothing interesting has happened yet anyway.

  2. Does it hook into the game client itself? That'd be harder to obfuscate. Maybe this method would be comparable to a map hack and thus bannable?

  3. [according to xdugyx] The game writes the player IDs to the server_log.txt file in the folder SteamLibrary\steamapps\common\dota 2 beta\game\dota.

Some comments from #559

OraCLesofFire said:

Regarding an actual solution that could be presented. Keeping the player ID server side until they have picked in the draft could be a solution that avoids this issue.

Varpie said:

While I like the suggestion to make user data anonymous during the draft phase, I would like to point out that it should only affect external data, as it is important for players to recognize who they play with/against.

Unlike third-party programs that give you data you normally wouldn't have access to, recognizing other players gives you an input based on your own experience, so it cannot possibly be considered cheating. And knowing who you play with is essential, because without that, all games would basically have the same draft phase, especially for supports who pick first: ban the same heroes, pick your favorite heroes. It does not invite synergy with your teammates, nor can you counter-pick preemptively. Those are a skill on their own.

Example Match ID (and possibly Timestamp)

None

Screenshots

Public match data showing who the players are during draft phase (see https://stratz.com/matches/live?sortBy=GAME_TIME) {D624A6CB-CAF1-43DC-AF63-6F7717FE8C41}

A third-party program showing detailed information about enemies that would be infeasible to obtain otherwise {1F7EC4F4-E287-43DA-9882-11E0872D8BBB}

xdugyx commented 2 years ago

There is no need to VAC ban the overwolf app.

All you have to do is stop writing the player IDs to the server_log.txt file in the folder SteamLibrary\steamapps\common\dota 2 beta\game\dota

It gathers the player IDs through that file. Whenever you accept a match the Dota client writes the Match ID and all player IDs into that file

aroccarian commented 2 years ago

This change would be a huge boon to amateur leagues. Players wish to hide their data so that they can play specific heroes in matches, but that makes it harder to root out smurfs who are seeking to sign up and undermine the integrity of those leagues.

Daar543 commented 2 years ago

This change would be a huge boon to amateur leagues. Players wish to hide their data so that they can play specific heroes in matches, but that makes it harder to root out smurfs who are seeking to sign up and undermine the integrity of those leagues.

Is there any difference between recognizing smurfs at the start of the game or later? I doubt you can exit the match during draft anyway.

aroccarian commented 2 years ago

Is there any difference between recognizing smurfs at the start of the game or later? I doubt you can exit the match during draft anyway.

Amateur leagues typically screen players well before they're ever in a match. Most smurfs are caught then, but occasionally an account is given the benefit of the doubt and permitted to play. However, it gets harder to track improper behavior after this screening process is complete.

The solution to this is to require all players participating in these leagues to keep their data public, but this suggestion receives a lot of pushback, because public data players face a very clear disadvantage due to Overwolf. If Overwolf were blocked from pulling player data during draft, then we could, in turn, require data to be public, without alienating that block of players.

axel11 commented 2 years ago

I play in amateur leagues and have all my match info public, along with every other team. When we find out who we are playing we just search them on places like dotabuff to find all the info. Banning this would have no effect on amateur leagues imo.

aroccarian commented 2 years ago

It's my impression that some players choose not to play AD2L due to that rule.... because of Overwolf. Ideally, players having public data would be the way things are, but I'd like to not drive those players away.

axel11 commented 2 years ago

Im not sure how overwolf is doing anything other than allowing teams who dont plan ahead to know info that other teams can find out with 10 minutes of looking. Pro teams can see the same info of there other teams. AD2L wants public info to prevent smurfs really, and i dont know of any way around that sadly.

Kalabasa commented 2 years ago

897 Fixed

Can we confirm that this breaks Overwolf?

Walruse commented 2 years ago

897 Fixed

Can we confirm that this breaks Overwolf?

It seems the Overwolf devs have found a workaround unsurprisingly - Unless the data is totally anonymised from the point of accepting the game up until the time when the draft is locked and the game has started I'm certainly they'll keep finding workarounds for this.

Not to necro a thread that's been silent two weeks with some other random's thoughts, but I've just recently had a few unranked games totally ruined by people who openly admitted they were using 3rd party software to counterpick heroes and even went so far as to flame teammates of mine claiming they were account buyers because they used to be divine so I'm a little mad and this seems like a potentially constructive way to vent.

In essence as far as I see it the problem boils down to the fact it's an unfair advantage for some percentage of the playerbase to be able to use third party extensions in order to have automated suggestions when it comes to drafting - many people have said that 50% of a game of DotA is the draft, so why is it excusable for such a large part of the playerbase to have such a major disadvantage? Of course you can make the argument that clearly these third party extensions are not bannable offenses under the current Valve ToS and so everyone should use them, levelling the playing field - however I'd counter that for much of the playerbase, they simply want to play some unranked dota in a casual setting, and are maybe looking to play favourite heroes for the sake of fun, not try to play the game to the perfect percentile as if they're competing in The International itself.

From my perspective, there's no real downside to anonymising players' data prior to the draft being locked in - is it important for people to be able to see avatars and usernames prior to actually playing the game? I'd be comfortable saying it's actually wholly unimportant to the entire duration of the game, and that the only time another player's identity is even remotely relevant is after the game has concluded. Granted I don't love the idea of a team of 5 "player"s with grey avatars fighting another team of 5 grey avatars because that feels rather boring, however I can't see it being a problem for the duration of the draft.

The upside of anonymising this data has been gone over a multitude of times already in this issue so I won't rehash it but it's fair to say I agree with most of the sentiments here.

For all the arguments about this somehow ruining ameteur leagues or professional dota, I don't see how that's at all relevant when clearly what is being suggested is for this to be implemented for public matches only, anything outside of that is already being played on private matches where the host has the ability to customise the lobby to their heart's content - so if this were an option (that was on by default) then it makes no impact to anything aside from strictly public games via matchmaking.

Again apologies for possibly notifying anyone that commented here already weeeks after the bulk of the discussion but I genuinely love the game of dota and I can't help but feel this is an easy and totally harmless way to vastly improve the game for a majority of players.

Aluerie commented 1 year ago

This issue is probably closeable

https://steamcommunity.com/games/dota2/announcements/detail/3659774959178253451

  • Player profiles can no longer be accessed in matchmaking during the pregame phase. They can still be accessed once the picking phase ends.

and wykrhm wording on twitter implies that 3rd party tools shouldn't work as well.

If they are - then comment here, I guess.

Aluerie commented 1 year ago

Okay, 3rd party tools still work using -dev html/css panorama editor

you open the panorama inspector and edit Panel PlayerGamesBox attribute .SelfOrFriend visibility to visible ; image

and here it is (this person is not in my friend list) image

Idk if it is possible to get more out of this html editing (i didnt try) but still - last 8 games - that can reveal rather a lot.

Maybe cheats operate using different method, but looks like something is not covered by the update.

PS. I'm not sure how exactly they get to the profile page in the first place, just telling what I know 😢

Aluerie commented 1 year ago

Another thing to mention -

Since we go this route of anonymous draft then we also have to hide player names/avatars as well.

Because I can still "google" players in opendota/stratz/dotabuff and unique names + unique avatars give it away.

Walruse commented 1 year ago

Will have to wait and see if there are other methods of getting the data, but it seems like as of 7.32e they've tackled the remaining known methods to access player histories during the draft (They were so excited about it that they mentioned it twice in the patch notes)

Nathanael-Valve commented 1 year ago

Going ahead and closing this, months on.