Bungie-net / api

Resources for the Bungie.net API
Other
1.22k stars 92 forks source link

Cross Save Testing, and How It May affect you #956

Open vthornheart-bng opened 5 years ago

vthornheart-bng commented 5 years ago

Folks have been wondering about how cross save will affect their apps - we can't share everything yet, but this document is an attempt to share as much as I am allowed to at the present time, in preparation for testing that will begin in the upcoming weeks.

Take a look, and see how it might affect you. Know that there will be more information coming in the lead up to Cross Save launch, but this is as much as I can discuss for the time being.

https://github.com/Bungie-net/api/wiki/FAQ:-Cross-Save-pre-launch-testing,-and-how-it-may-affect-you

mattybeard commented 5 years ago

Well said @floatingatoll.

I’m not sure I’ve ever heard anyone sound quite so narcissistic before in a GitHub thread.

You don’t solely bring Bungie financial game. You don’t solely bring people to Destiny and it’s franchise. What makes your needs so special over the needs of others? I could have 100+ things I’d like in the API that aren’t there currently - I occasionally post them here and if I’m told they won’t be coming any time soon, I do the grown up thing and respectfully deal with that.

Be thankful for what we have before we lose it entirely, try to show some respect and also, start building a workaround instead of a wall of text that we all know isn’t going to change anyone’s decision.

You are in the minority and whether your actual point is valid or not, surely by now you know it’s far too late. Cross Save releases in 10 days!

ghost commented 5 years ago

accountability for what people say and do in game

Bungie uses in-game and PGCR reports to deliver this accountability, both for behaviors that are listed in the "Report a player" list and through generic video reporting for the worst case unusual events via the Bungie feedback forums. They have absolute knowledge of "in-game player X" is "steam account Y" because they have complete control.

This does not help the large communities. We aren't bungie. We have hundreds or thousands of people under us that we need to keep in line so everyone can have fun. You also cannot right click a players name in clan chat and report a specific person for yelling racial slurs.

if you saw your in game clan chat being spammed

Then you would evict that person from your clan and refuse to let them back in if they request an invite. Steam players can't change their Bungie membership ID more than once or twice every 90 days, so they'd have to start a new alt every time and put in all the work necessary to make it plausible.

You did not read what I said. With the current plan, we will not be able to find that person if they changed their steam nickname before doing it. They can change their in game name for free every 5 seconds if they choose to.

I have 6000 people in my discord server and 1000 clan members

Are you friends with the 1000 clan members? Do you know them and chat with them when you see them online? Would you have a meetup in a pizzeria with them if you all were in the same area of the world?

What does this have to do with anything.

No one will even acknowledge this is a problem that will occur or suggest how to work around it.

They flat out said they aren't going to fix it.

These two statements contradict each other. Either Bungie is unaware of your requests, or Bungie has denied your requests.

They won't acknowledge that being able to change nicknames every 5 seconds will cause problems for us. They flat out said they aren't going to make a new account system to fix the problem.

It'd just take some of their higher ups to see it as a problem and re-prioritize

Or, their highers ups disagree with you that the issues you've encountered are of interest to them to solve. Bungie's game designers built the clan system for friends and acquaintances. You built the clan system for anonymous strangers. Your needs openly contradict in-game and out-of-game messaging.

Put yourself in my shoes.

Put yourself in Bungie's shoes. They built a clan system for acquaintances and friends, people who enjoy playing Destiny together, and you built an entire LFG anonymous matchmaking system for complete strangers on top of it that uses API endpoints to force people to play every week or else.

They may disagree with me... but no one can deny this game is more fun with other people. Clans like mine bring people together and make the game more enjoyable. Debating how I run my clan with you is pointless.

My community is THE most active multi-clan community in this game.

We're not going to rally around your cry. Bungie disagrees with you. Rabble-rousing will go nowhere here, and puts us all at risk of losing this wonderful resource we have that is so tenuous and barely exists at all. You are putting your community, and our communities, at risk.

If you have read anything I've written, you'd know that my community is already at risk. I really don't care.

It literally takes 1 person to ruin the other 99 clan member's fun

You're at risk of becoming the 1 in 100 to Bungie that you yourself worry about affecting your own regimented system.

Bungie is our superior officer with respect to all things Destiny. While I've never served, I regardless encourage you to consider the lessons of "disagreeing with a superior officer" here. You can object, you can disagree, but in a military scenario, when a superior officer says "I acknowledge your objections and we will proceed as ordered", pressing the issue further risks your career – and trying to rabble-rouse can results of charges of mutiny.

I, for one, will not be joining your mutiny. I'm very sorry. What you've built is due respect, but this community is more important to me than any single use any of us have of it.

I'm fighting this so hard because what they are giving us is going to have a large effect on the PC community as a whole. It's like they don't understand the ramifications of this or just don't care. They aren't stupid so they have to understand what they are doing... so that leaves us with me not understanding how they can not care about this. They've neglected to even think about very basic things websites and communities need to continue running. You can't even find someone named "Mike" for gods sake.

Achronos-BNG commented 5 years ago

@Akumati1435 Every Destiny player has a unique identity already: the 64-bit Destiny Membership Id. It has always been the design for all platforms that display names are treated as non-unique and infinitely changeable. The only difference Steam brings is that the barrier for change is lower than other platforms. And even there, the steam ID and profile URL are still things that exist. Expecting us to account for your flawed design (that display names are unique/unchanging) or specific use cases seems incredibly entitled. (I mean, you asked us to create a new Account system just for you! That sounds like something you could do for yourself.) Using the API is privilege, not a right. Instead, I suggest thinking of the limitations as a challenge to overcome and work the problem. That's how we've approached it for our own security systems.

ghost commented 5 years ago

WOW. MY FLAWED DESIGN? That's rich. It's like you haven't read or understood a word I've said.

My own code is fine. My own code has hard links between bungie accounts and discord accounts so the bulk of my own automation will not skip a beat come the steam change. This has absolutely nothing to do with my own automation so please stop blaming me and steam for your own design flaws.

I have not said you should do this for me. I've said you should do this for the ENTIRE PC player base so we have the same functionality we currently have.

On PSN, you have a unique name present for all people to see in game. you have accountability there. You can also put that into destinytracker/other websites to look up a user.

For xbl, you have a unique name present for all people to see in the game. you have accountability there. You can also put that into destinytracker/other websites to look up a user.

For battle.net, if you view a persons profile in the game, you can normally see a person's full battletag. you have some accountability there. You can also put that human readable unique id into destinytracker/other websites to look up a user. Most people know their battletags.

Now the steam change comes... In game it's just a non-unique nickname displayed with no way to identify who they are. Now if you were to stick the steam ID where the battle.net tag is you'd have limited accountability for your members and we'd probably be able to make due. This is under the assumption that the person reporting the offender inspects the offender and takes a screenshot of their steam ID before sending it our way. This covers the main use case, but there are still edge cases which we'd be unable to gain accountability for what people do in game.

justrealmilk commented 5 years ago

@Akumati1435 you've lost your mind dude. Your behaviour is just incredible. Sit the fuck down and consider carefully how you're conducting yourself in this public space.

ghost commented 5 years ago

i see, so he's allowed to insult my stuff but i'm not allowed to do the same?

honestly it doesnt matter anymore. i'm done with the whole clan thing. I am not going to wait and deal with the headaches this is going to cause.

MACK12902 commented 5 years ago

lets not just pick convinient times to slide into the insilting game and find a way to talk again. escelating this isn't going to help us understand each other.

GigFledge commented 5 years ago

I just kind of wanted to weigh in on this issue, it seems to be kind of a heated debate. I understand that there are ways to get unique id's on the backend, but is there anything user-facing that we'd be able to see a la a battle tag, and then search players by? Or are there no plans for that at all? If we had something like that, it would make a lot of the arguing in this thread moot, and be a lot more helpful, at least for the average user. I think that may have been what Akumati was going for. Cause, sure, the experience for the developer is going to change, but they'll still (hopefully) be able to work around the system. For the average user, at least on PC, there's going to be no guaranteed way for people to search up a certain player on steam, or to find someone on raid.report or destiny tracker. At least that's my understanding of it, correct me if I'm wrong. I can't really give good criticism as this isn't really my field of expertise, but that seems kind of counterintuitive and.. well, it's just a step backwards and doesn't show a lot of care towards one of your platforms. The move to steam is a good move, I'm just concerned about how it's being handled

justrealmilk commented 5 years ago

I don’t really know what’s going on anymore at this point. Maybe steam users may be harder to find using some endpoints but at the end of the day, this is a best case scenario.

All things considered, moving to steam is a lot of work.

Setting up some sort of authority to handle usernames to mitigate this issue doesn’t add up when weighed against the costs.

Building in UI to the game for 1/3 platforms to handle usernames would be a huge undertaking. Asking users to go to bungie.bet before playing - not a great way to induct new Guardians.

My intention isn’t to call out Akumati and his friends but when clans were designed I don’t think the intention was to support groups in the thousands. The smaller the group, the easier to... regulate. Clans shouldn’t need this kind of rigorous oversight - it’s supposed to be about friendship.

ArkahnX commented 5 years ago

@GigFledge Akronos posted a bit ago about a potential new endpoint that could be used to input a steam ID and get a bungie account back in this comment. Understandably burried

floatingatoll commented 5 years ago

@GigFledge To point out something interesting as well —

I understand that there are ways to get unique id's on the backend, but is there anything user-facing that we'd be able to see a la a battle tag, and then search players by?

I believe that Battle.net forbids Bungie from returning non-exact search matches for battle tags. If you have only the search string 'Atoll' and not the exact battle tag 'Atoll#12345', then Bungie must not return 'Atoll#12345' (or any Atoll#) in the results of a search.

I have no data on whether Steam forbids Bungie in the same manner, but it may help make more sense of why Akronos is considering a 'SteamID lookup' endpoint: for Battle.net, your 'Atoll#12345' is your SteamID, and they use the # to indicate that it's an ID lookup.

Akronos, this also permits an interesting option for you: accepting #1:0:123457456 in all places where a Battle.net tag would be accepted today might be a good fit for the codebase.

Achronos-BNG commented 5 years ago

Most likely the way it would work is that you would get the Steam ID of a user from either the user inputting it directly or using the Steam community web api (ISteamUser - GetPlayerSummaries). I think there is also a method called ResolveVanityUrl that you can turn the user's profile url into a steam id. Anyway, once you have that'd, you'd call the bungie.net platform - it will probably be called something like GetMembershipFromHardlinkedCredential. That would return a membership id given the steam id. It would only work for Steam, as other platforms do not want the equivalent identifier for a user exposed in that manner. I'm not sure of the format of the Steam ID - I think it is actually just a ulong, the stuff before the second colon doesn't matter.

So, with such an API, you have a way of searching for a particular steam account, just not on the display name. It remains true that you cannot easily do a display name search because they aren't unique. That is a challenge that will have to be solved by each app creator. Some don't have to worry about, others it matters a great deal.

Adding new platforms is always tough. We're doing it again later this year when we add Stadia. They'll have their own rules too. And Cross Save makes display names even more interesting.

bladefist commented 5 years ago

@Achronos-BNG Any chance of this GetMembershipFromHardlinkedCredential endpoint coming soon? Would be really handy :)