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

vthornheart-bng commented 5 years ago

Finally got the thumbs up to give more info:

https://github.com/Bungie-net/api/wiki/Blizzard-to-Steam-Migration,-how-it-will-affect-the-API

ghost commented 5 years ago

I assume the games played on steam will show a 3 as the membership type in the activity endpoints. Will the games played on pc before the steam move show a membership type of a 4 or will they be converted to 3s too?

Any news on the naming of players yet? Like, is it going to use the steam nickname in game or will we be picking something unique on bungie.net so we have more accountability for what people say and do in game?

When figuring out what game versions people have on each platform, do we just make a getprofile call with each membership type or is that in the getlinked profiles call? (I haven't used that one much since it doesn't contain battletags)

vthornheart-bng commented 5 years ago

Ah, very good question! I had to do a little digging on that, but it looks like the way we acquire membership type information is such that they will be converted to 3's (for better or worse).

vthornheart-bng commented 5 years ago

In terms of the account naming, there is unfortunately going to have to be a cleansing of characters that we don't support and possibly certain disallowed words or phrases. TBD on that, I will try to get you more info on that soon: but there will definitely be a difference between a player's name in Steam and how we display that name in Bungie.net, and players won't be able to directly control the name mangling that will occur.

For game versions, that question is still something I can't talk about just yet, other than that the existing game version property has to be deprecated. I will keep you all posted when I can talk on the subject!

vthornheart-bng commented 5 years ago

Okay, I got the info - here’s the scoop on Steam display names!

We recognize that Steam display names can have some “unique qualities” (unprintable characters, profanity, unusually long names etc…) that our system does not support.

For most people, Steam display name lookup will work fine. For a limited number of users, it won't: especially if they have characters we can't print on the web site or profanity. This is a known limitation for a small subset of users. You will still be able to locate users directly via mechanisms that use their Membership ID (for instance, finding them through a PGCR of a match they played, their Clan membership, or through a name search for their Bungie.net profile rather than a platform name lookup).

ghost commented 5 years ago

Unfortunately this is leading to a lot more questions...

Is it just going to be the steam nickname and nothing else? Will there be a discriminator after it like Blizzard and discord do?

If not, someone can change their name on steam from "Mike" to "Charles", yell racist slurs in the in game clan chat, then change it back to "Mike" with no tractability whatsoever. Even with the discriminator, I'd need to constantly be polling and storing what my clan member's names are if they can change their steam nickname every 5 seconds.

Something I guarantee will happen is... an entire team of people queuing for PVP can change their names to the same thing, then queue up together. If one of them is being extremely toxic, how will a player know which one they should report?

Are the bungie.net profile names going to become unique? If we want to send a clan invite to someone with a bungie.net profile name of "Mike", how do we find the right one? There's got to be tens of thousands of them.

How will you look up a steam user on sites like destinytracker or raid.report?

Yogarine commented 5 years ago

I’d almost opt to not display the Steam username at al, and use the Bungie.net username instead. If the player is new to Destiny 2 / Bungie.net, have him choose a new Bungie.net username before he starts playing.

ghost commented 5 years ago

Something I mentioned months ago was... the only way I could think of to make this work is to copy what other companies do. Have a person's name be picked and stored on bungie's side. Make it unique (like PSN or XBL) or add a discriminator to it (like blizzard). Then charge money to change it.

Not only does that fix the problem, but it's a new revenue stream.

floatingatoll commented 5 years ago

This may already be a finalized decision, given that they’ve already turned up the migration processes live and shipped game code for this.

On Aug 5, 2019, at 12:33, Akumati notifications@github.com wrote:

Something I mentioned months ago was... the only way I could think of to make this work is to copy what other companies do. Have a person's name be picked and stored on bungie's side. Make it unique (like PSN or XBL) or add a discriminator to it (like blizzard). Then charge money to change it.

Not only does that fix the problem, but it's a new revenue stream.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

ghost commented 5 years ago

@floatingatoll this is precisely why I brought up this concern 2 months ago...

Achronos-BNG commented 5 years ago

@Akumati1435 Bringing it up two months ago was still too late, even if we hadn't already been through the problem already. The Accounts system does not work like this - we're not going to build an entirely new one just for one Platform, especially considering that the vast majority of users won't even be affected by this problem. Only users who have Steam Persona Names with profanity and unprintable characters in them will not be easily searchable, and they can easily change them to something else if so.

As for changing names, all platform display names can be easily changed. That has always been true (yes, even PSN names). Steam does not materially change that. If you have not already accounted for that in your project, well, I guess now you have a good excuse to do so. Maybe you can require users to enter a unique name for themselves. We ask for one our web site for users who want to engage more than just playing the game. Indeed, we have two - an infinitely changeable display name, and a unique name that is only changeable once a week and is prefilled will a value at creation time so most users don't even know about it unless they go to their settings screen. You may have to do something similar if you are providing social interactions with your users.

I cannot really provide advice about your hypothetical scenario involving reporting in your clan chat, as that doesn't really seem to be a problem with the API. Our systems use Display Name just as a label attached to content, but operate on the Destiny Membership Id since that is immutable. If you have built something relying on the platform display name not changing, well, that's likely always been exploitable.

ghost commented 5 years ago

Can you describe the process for which we are to look up the stats of a different steam user on a website like destinytracker.com or raid.report? For this example, please assume their bungie.net display name and steam display name is "Mike". I feel like I have to be missing something here... This question is why all of this is pertinent to the API. If they have an easy way to do it, so would I.

Yogarine commented 5 years ago

@vthornheart-bng @Achronos-BNG

I think what @Akumati1435 is on to is that Steam display names are not unique. So if you try and search a Steam player by his display name you'll get many duplicate results, without an easy way to determine what the actual correct membership is you're looking for.

Yogarine commented 5 years ago

@vthornheart-bng @Achronos-BNG

Another interesting point @as-com brought up on Discord, how is /invite going to work when there is no unique display name?

floatingatoll commented 5 years ago

How does Steam, using a mouse and the overlay, handle game invitations today — do you have to be friends to send an invitation?

On Aug 5, 2019, at 16:58, Alwin Garside notifications@github.com wrote:

@vthornheart-bng @Achronos-BNG

Another interesting point @as-com brought up on Discord, how is /invite going to work when there is no unique display name?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

Achronos-BNG commented 5 years ago

@Akumati1435 The bungie.net profile name has a field called "unique name" that is unique (though it can be changed every 7 days). It is usually equally to the user's bungie.net membership id, though users can change it if they want. You can use that to get the user's destiny memberships (assuming they are publically linked). On Steam, that's more complicated. Even in steam itself, it is not a primary use case to find people by name with a raw search. Usually you are referenced elsewhere, be it a posted profile url, a generated invite email, etc.

You'll have to examine your use case as to what to do, especially remembering that bungie.net will not expose the Steam ID to you (it is considered private information). You'll either have to build your own system, or have some sort of proxy like the bungie.net names, telling your users to make sure their steam links are public so you can see their account information. Maybe in the future we can do something to allow an app to be granted permission to see a user's private link state so a user doesn't have to expose their links to all to see in order for that to work. We may also look into providing a way for you to resolve steam profile vanity urls into destiny membership ids directly. But for now, bungie.net names and their public links are probalby your best bet.

I have no information for you on how in-game inviting works, that is outside the scope of this forum.

Yogarine commented 5 years ago

@Achronos-BNG

it is not a primary use case to find people by name with a raw search.

Just wanted to mention that there are a few sites that use this case. Destiny Tracker comes to mind for one.

Two questions: Will it be possible to see a persons "unique name" in-game? Does this also mean that in Destiny 2 on Steam I could hypothetically fill up a fireteam with 6 identically named players?

cowgod commented 5 years ago

@Akumati1435 Thanks for that clarification. I hadn't realized it's a conscious design decision to not show a bungie.net user's associated battle.net tag etc. That certainly makes it harder to find people, but I can understand the thinking behind the decision.

I second the other comments that being able to look people up is pretty core functionality for quite a few third-party apps, including mine, so I hope some of those possibilities you listed will be given consideration in the future. Thanks to both of you as always for the open communication!

ghost commented 5 years ago

So you're saying the unique name is something we can search on right? If so then...

Idea - If a user hasn't set their unique name when they go to transfer their bungie account to steam, set it to the person's battletag when the transfer to steam happens. When a person adds a steam account to bungie, default it to their gamertag/psn name. If someone new comes along, force them to set that field. You'd probably need to add slight variations to it because some will be taken.

Make that field very visible to the users somehow (like displaying it in game perhaps). If everyone knows what their unique identifier is, then people will know how to find their stats on sites like destinytracker.com.

I don't think you understand how much work you're putting on us. I don't think you understand the implications this will have on your end users that use all these 3rd party websites. This will even have financial impacts on those who run ads on their 3rd party sites because no one on steam will be able to use them... This is very basic functionality and you've chosen to leave it out.

floatingatoll commented 5 years ago

It’s worth considering what that core functionality breaks down into:

  1. Look up ‘my account’ (could be more than one)

  2. Look up ‘someone in my current instance’ (trials, etc)

  3. Look up ‘someone in a previous instance’ (elo rankings)

  4. Look up ‘someone else who uses this third-party tool’ (lfg)

All four of those options will continue working as they already do today, as they do not depend on “platform character name” because they all have access to the underlying Bungie membershipID and can perform their job without it.

  1. Look up ‘someone by handle directly’ (?)

This use case partially broke with Battle.net and will break in different ways with Steam. However, it exposes an interesting question that I’m not sure anyone has asked, so micro-survey time!

For each of you that want to look up players by handle directly:

a) What are your use cases for looking up someone by handle directly?

b) Could they be met by options 1-4 if your application asked the user to sign in via OAuth?

floatingatoll commented 5 years ago

Forgot one, let’s called it zero:

  1. Look up ‘someone I know’ a. (Bungie clanmates) b. (Fireteam members) b. (Platform friends) c. (Platform party chat)
ghost commented 5 years ago

Honestly, I think what this boils down to is that it's core functionality for the majority of 3rd party developers, but not for Bungie. They don't need it so they skipped it, but we do to keep websites we've made (for free) fully operational. Supporting us and giving us what we need provides bungie with free labor. If they can keep us productive it's less work for them in the end.

1 to 3 should be mostly solvable with oauth.

I dont think # 4 is covered by adding OAUTH. The human element is dependent on a platform character name so they can find the people they want to play with. Otherwise they'll have to keep DMing people their steam profile page to get anything going. It's far from ideal and would discourage people from trying to group up with people in other divisions.

number 5 is the problem i'm focusing on because that is the main use case me and so many other third party developers need.

floatingatoll commented 5 years ago

Wouldn’t your LFG users all be registered with your site, so that you have their platform names, Bungie names, and Bungie membership IDs all available in your LFG database to search for and show the few (or one) matching results for a name search?

LFG sites seem to widely prefer/require a ‘registration’ step where you prove ownership of a given handle by logging in to the API, so if you’re running an LFG system that avoids that — then, yes, you might have to implement that to make sense of the PC user base.

On Aug 5, 2019, at 18:25, Akumati notifications@github.com wrote:

Honestly, I think what this boils down to is that it's core functionality for the majority of 3rd party developers, but not for Bungie. They don't need it so they skipped it, but we do to keep websites we've made (for free) fully operational. Supporting us and giving us what we need provides bungie with free labor. If they can keep us productive it's less work for them in the end.

1 to 3 should be mostly solvable with oauth.

I dont think # 4 is covered by adding OAUTH. The human element is dependent on a platform character name so they can find the people they want to play with. Otherwise they'll have to keep DMing people their steam profile page to get anything going. It's far from ideal and would discourage people from trying to group up with people in other divisions.

5 is the problem i'm focusing on because that is the main use case me and so many other third party developers need.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

Achronos-BNG commented 5 years ago

@Achronos-BNG

it is not a primary use case to find people by name with a raw search.

Just wanted to mention that there are a few sites that use this case. Destiny Tracker comes to mind for one.

Two questions: Will it be possible to see a persons "unique name" in-game? Does this also mean that in Destiny 2 on Steam I could hypothetically fill up a fireteam with 6 identically named players?

I was referring to Steam - if you try to do a name search on Steam (use the Add Friend input) - you'll get back tons of results. Not a lot we can do about that immediately. But, like I've said, there are alternatives. The bungie.net unique name is one. Though you can't see the bungie.net profile name in game. You'll only see their processed Steam name (i.e., remove of profanity, bad characters, possibly truncated for length, and this processing might appear different in the API due to various technical reasons that are not important).

And yes, it does mean a fireteam could have identical player display names in it, though they will of course have different Destiny Membership Ids (and, if present, different bungie.net unique names). How you display them is a problem that you will have to solve. Cross Save causes similar problems on a smaller scale (the person with the name "Achronos" on PSN is not necessarily the same person as "Achronos" on Xbox... but they could be).

bladefist commented 5 years ago

Regarding the "Unique ID" which is able to be setup in bungie.net, it would be awesome if one could set this up and view it in-game. That'd be the rug that tied the whole room together. My fear of this being on the website only means out of sight out of mind.

ArkahnX commented 5 years ago

The biggest problem I see brought to light by this steam issue, is the lack of being able to search for what would effectively be a random person. This isn't as much of an issue on PS4 or Xbox, as their usernames are unique enough. But you run into it on PC where you need the persons unique #, but those are not displayed.

For endpoints, currently all we have access to for this functionality is User.SearchUsers which returns Bungie.net users (including partial matches) and Destiny2.SearchDestinyPlayer which requires a membershipType (which will be murky once cross save comes out) and only returns exact matches. Once cross save is released, you would have to search all platforms for a given username since the account could originate from anywhere.

This is definitely an app developer problem, I think the least bad solution would be to run User.SearchUsers in addition to Destiny2.SearchDestinyPlayer when searching for a player by name, and presenting the results to the app user.

The benefits of User.SearchUsers is that the results include psn/xbox/blizzard/other display names, however the downside is that the bungie.net username may be completely different than the platform displaynames, and they may not even have a bungie.net account.

I suppose we'll have to wait until october to see what the results of a Destiny2.SearchDestinyPlayer call for the steam platform will look like

ghost commented 5 years ago

@floatingatoll Sure, LFG websites can. LFG discords don't have quite the same customizability. On website, you can do what you said... you can store their information and have the users simply click a link to get to each person's steam info. On discord, we generally rely on platform character names because we can't just stick a link in our username. There's a character limit. The closest we can do is require everyone to link their steam accounts, which you cannot automatically check for (according to some mild internet research... bots dont have access here), then train 6000 people to right click someones profile to find a link to people's steam names. Without being able to automatically check for steam account linkage it becomes a management problem. From the user's standpoint, it's a couple extra steps and there are a lot of people on discord who really don't know how to use the platform well.

ghost commented 5 years ago

@ArkahnX That goes back to my previous question. If someone's name is "Mike", how can a bungie api developer provide a way for a user to figure out which "Mike" is the "Mike" their end user is looking for? You cannot expect people to sift through thousands of results to find the right one. How would they even differentiate between the different Mike's?

The fact that you described your solution as the "least bad solution" means that you already know this is not a reasonable request.

floatingatoll commented 5 years ago

I notice that https://discordbots.org/bot/456329748214185985 apparently is a thing, so it should be possible for the bot to take their (Steam) profile url one-time and give them back a numeric (Steam) ID to store in their profile. And then you could do the same for a Bungie Profile URL — or even do a temporary OAuth sign-in flow and throw away the token when you’re done! — to make it as easy as possible to get people’s discord ID bound to their destiny ID. (And I bet a lot of Destiny discords would praise your name for the bot code to do this, if they aren’t already implementing it now.)

On Aug 5, 2019, at 19:03, Akumati notifications@github.com wrote:

@floatingatoll Sure, LFG websites can. LFG discords don't have quite the same customizability. On website, you can do what you said... you can store their information and have the users simply click a link to get to each person's steam info. On discord, we generally rely on platform character names because we can't just stick a link in our username. There's a character limit. The closest we can do is require everyone to link their steam accounts, which you cannot automatically check for (according to some mild internet research... bots dont have access here), then train 6000 people to right click someones profile to find a link to people's steam names. Without being able to automatically check for steam account linkage it becomes a management problem. From the user's standpoint, it's a couple extra steps and there are a lot of people on discord who really don't know how to use the platform well.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

floatingatoll commented 5 years ago

If the user is looking for their own “Mike”, that’s solvable.

If the user is looking for a complete stranger Mike, with which they’ve never played and that hasn’t registered themselves in an LFG-type database, that’s already impossible today on Battle.net — and will remain impossible on PC.

If the user is looking for “Mike#16362” because Mike told them that, then in the Steam case they’ll have to provide the ID from their profile URL (which is a long string of numbers), or their Steam ID (which is 1:0:2736294748). That’s just how Steam works, and has worked for all Steam integrations for the past ten years. Bungie can’t overcome a limitation of Steam itself here.

On Aug 5, 2019, at 19:10, Akumati notifications@github.com wrote:

@ArkahnX That goes back to my previous question. If someone's name is "Mike", how can a bungie api developer provide a way for a user to figure out which "Mike" is the "Mike" their end user is looking for? You cannot expect people to sift through thousands of results to find the right one. How would they even differentiate between the different Mike's?

The fact that you described your solution as the "least bad solution" means that you already know this is not a reasonable request.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

ghost commented 5 years ago

The bot thing to spit out a steam make is my current plan. It's still extra steps to get to the same place we were before but it works.

For the Mike thing, the entire point of this is that today you wouldn't need to search for "Mike" because you'd have the unique ID for that Mike in a human readable way as the full battletag. It's intuitive from a user's standpoint. That steam ID though? Do you honestly think Grandpa Jack is going to know what to do with "1:0:2736294748"? And they absolutely can overcome the limitations of steam here. They just need their own unique id in bungie land to associate to that steam id.

and this is only one of the problems I'm going to have as a big server admin. accountability for our members will be the death of us.

floatingatoll commented 5 years ago

I empathize from my Steam API experiences from back in the day (disco beat down 4 ever), but Steam won’t help you convert “Mike” definitively, and you’re on the right track making accommodations for that to the best of my knowledge.

On Aug 5, 2019, at 19:24, Akumati notifications@github.com wrote:

The bot thing to spit out a steam make is my current plan. It's still extra steps to get to the same place we were before but it works.

For the Mike thing, the entire point of this is that today you wouldn't need to search for "Mike" because you'd have the unique ID for that Mike in a human readable way as the full battletag. It's intuitive from a user's standpoint. That steam ID though? Do you honestly think Grandpa Jack is going to know what to do with "1:0:2736294748"? And they absolutely can overcome the limitations of steam here. They just need their own unique id in bungie land to associate to that steam id.

and this is only one of the problems I'm going to have as a big server admin. accountability for our members will be the death of us.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

TorKallon commented 5 years ago

I appreciate the amazing functionality that the API provides and the lengths Bungie has gone to in order to make all of this data available.

If you are concerned about clan management challenges, try using Charlemagne. All of your clan members can register there and you'll have the ability to easily view their stats.

On Mon, Aug 5, 2019 at 7:24 PM Akumati notifications@github.com wrote:

The bot thing to spit out a steam make is my current plan. It's still extra steps to get to the same place we were before but it works.

For the Mike thing, the entire point of this is that today you wouldn't need to search for "Mike" because you'd have the unique ID for that Mike in a human readable way as the full battletag. It's intuitive from a user's standpoint. That steam ID though? Do you honestly think Grandpa Jack is going to know what to do with "1:0:2736294748"? And they absolutely can overcome the limitations of steam here. They just need their own unique id in bungie land to associate to that steam id.

and this is only one of the problems I'm going to have as a big server admin. accountability for our members will be the death of us.

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/Bungie-net/api/issues/956?email_source=notifications&email_token=AABVGF3KXSM3CAHPMKBA663QDDOEVA5CNFSM4H6NNE7KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3TT3BQ#issuecomment-518471046, or mute the thread https://github.com/notifications/unsubscribe-auth/AABVGF5GEN3ZC3O3GZWDX7TQDDOEVANCNFSM4H6NNE7A .

ghost commented 5 years ago

If I do I'll have to ping you and see if you can support some of the weird stuff we prefer. It's nice being in complete control over everything, but it's too much work for just me...

kramrm commented 5 years ago

Apologies if I've missed this in the conversation, but when setting a profile to be cross save, does that profile get locked in, or will users be able to change their active cross save profile at will?

vthornheart-bng commented 5 years ago

Unfortunately that part is more of a question for the Community folks, like DeeJ - I'm only allowed to talk strictly about how Cross Save will impact the API. Whether it locks a person in or if they can change the profile at will, the info above will still apply (the consistency of the membership ID tied to the characters being used, for example)

floatingatoll commented 5 years ago

When cross-save has been used on an account linked to 2+ platforms to migrate save data to a given platform, will it be possible to perform read API calls and/or write API calls against other platforms than the one targeted by Cross Save?

For example, if I link my Steam and PS4 accounts to my Bungie account, and then I perform a “Cross Save” from PS4 to Steam, will the API afterwards still permit me to GetProfile and/or EquipItem on the PS4 account?

On Aug 7, 2019, at 16:51, Vendal Thornheart notifications@github.com wrote:

Unfortunately that part is more of a question for the Community folks, like DeeJ - I'm only allowed to talk strictly about how Cross Save will impact in the API. Whether it locks a person in or if they can change the profile at will, the info above will still apply (the consistency of the membership ID tied to the characters being used, for example)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Bungie-net/api/issues/956?email_source=notifications&email_token=AAAWUDCGNCYVHEDNGRBE5ZTQDNNZJA5CNFSM4H6NNE7KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD32AP6Q#issuecomment-519309306, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAWUDCWEOI56DH4KQTUKVDQDNNZJANCNFSM4H6NNE7A.

vthornheart-bng commented 5 years ago

Yes, you will still be able to perform those actions!

kramrm commented 5 years ago

~~I would assume we can still access the individual platforms as the membership IDs won’t change. I read somewhere that none of the accounts go away, but aren’t sure how relevant the other accounts will be (except for historical stats) if the cross save profile gets locked in.~~

TWAB for 2019-08-08 has clarified my questions. https://www.bungie.net/7/en/CrossSave

On Wed, Aug 7, 2019 at 5:06 PM floatingatoll notifications@github.com wrote:

When cross-save has been used on an account linked to 2+ platforms to migrate save data to a given platform, will it be possible to perform read API calls and/or write API calls against other platforms than the one targeted by Cross Save?

For example, if I link my Steam and PS4 accounts to my Bungie account, and then I perform a “Cross Save” from PS4 to Steam, will the API afterwards still permit me to GetProfile and/or EquipItem on the PS4 account?

On Aug 7, 2019, at 16:51, Vendal Thornheart notifications@github.com wrote:

Unfortunately that part is more of a question for the Community folks, like DeeJ - I'm only allowed to talk strictly about how Cross Save will impact in the API. Whether it locks a person in or if they can change the profile at will, the info above will still apply (the consistency of the membership ID tied to the characters being used, for example)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub < https://github.com/Bungie-net/api/issues/956?email_source=notifications&email_token=AAAWUDCGNCYVHEDNGRBE5ZTQDNNZJA5CNFSM4H6NNE7KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD32AP6Q#issuecomment-519309306>, or mute the thread < https://github.com/notifications/unsubscribe-auth/AAAWUDCWEOI56DH4KQTUKVDQDNNZJANCNFSM4H6NNE7A .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Bungie-net/api/issues/956?email_source=notifications&email_token=ALRBKTOAUS7UBCZXVAYXXPDQDNPRXA5CNFSM4H6NNE7KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD32BGWA#issuecomment-519312216, or mute the thread https://github.com/notifications/unsubscribe-auth/ALRBKTJ622Z6IWDSL4XZ4STQDNPRXANCNFSM4H6NNE7A .

Achronos-BNG commented 5 years ago

On the subject of steam display names and such - I am considering the possibility of adding an API call that will take as input a Steam ID and output a destiny membership id that maps to it. That would allow you (for example) to use Steam's own Community API to turn a user's profile URL into a Steam ID, and from there look up their Destiny Account. I could even make it deal with the cross save mapping for you (optionally) so that you wouldn't have to make an additional call if you just wanted the active cross account.

I cannot promise such an API call would be available by 10/1, but would that be useful in giving you some extra flexibility to solve some of these name problems? Steam's limitations are beyond our control, but this is one way we can help.

cowgod commented 5 years ago

That would be an incredible help. Yes please!

mistahj67 commented 5 years ago

I second this motion.

ghost commented 5 years ago

Would you be able to get their steam link from the bungie API too?

What I'd like is the ability to make a bot command that would allow people already registered with my bot (through bungie.net auth) to type !me and it'd spit out their steam link. That or maybe a !steam @akumati# 0001 kinda thing too so we can go from a discord account to a steam link easily. I bet charlemagne people would like this too for their discord based LFG stuff.

With the current setup, and i think with the setup you were suggesting, I'd need hard links between a discord account and a bungie account for most things, but also a discord account to a steam account. It's a bit much to ask people to sign into bungie and steam if they want to be in my clan.

This doesn't solve either of the two big issues I see with your plan though.

1) accountability for what people say and do in game 2) reliable name based searches for players on sites like destinytracker.com that don't require someone to find and set the hidden unique ID field on their profile or know their account number (aka, the "Mike" example I used in previous posts).

Also, on a side note, I put together a discord server with the top brass from all the major PC clans to tell then what you're proposing here (# 1 and # 2 above) and they are all pretty worried. There is a lot of "bungie wouldnt do that to us" kind of comments, but directly quoting you guys says otherwise. DM me on discord (Akumati# 0001) if you want to join it. It'd potentially make them all feel better about this (or worse). I'm sitting here hoping I misread something.

ArkahnX commented 5 years ago

I think this new endpoint that would allow us to put a steam ID and translate that to either a profile or name would be a great addition. This would allow easier searching for steam guardians (particularily friends) than by name.

I for one think this endpoint addition is excellent and probably as good as Bungie can do to help with the non-unique name system steam uses (Thats a steam problem, not a bungie problem)

ghost commented 5 years ago

Reading this over and over again is pretty triggering if I'm being honest. Bungie chose to use Steam's nickname field. They didn't have to go that route... It is fully within their control to store a unique name a person wants to use in their database. That unique name can be used in the game and as a searchable value for third party sites.

How you ask? For current battle.net users: When porting to steam, ask them what name they want to use. Check its availability and store it in the UNIQUE ID field on their profile page. For new accounts: When they start the game, it asks if you want to enter an email address to keep up to date on news and such. Instead of asking for the email address, require it. They're already on a PC so it will only add couple minutes to the process. The second they enter an email address, create a 254 account for them. Default the UNIQUE ID field to their steam name, but with the preprocessing and add some numbers to the end of it if it isn't already unique. If they follow through and register their account, after clicking the confirmation link in the email ask them what they want their id to be. If you rename the unique id field to something more intuitive for users, it won't be so hidden to everyone. For cross save people coming from another platform: If they are already registered, make a unique ID for them based off their psn name, xbl name, or steam name. On first log in, send them an email telling them how to change their in game nickname. If they aren't registered, use the "For new accounts" flow.

bladefist commented 5 years ago

@Achronos-BNG that would be very useful, thank you.

cowgod commented 5 years ago

@Akumati1435 please try to remember we’re incredibly lucky to have such an extensive API at all, much less an API team taking time out of their day to share information with us and engage in dialogue to help us better understand how to effectively use what they’ve built.

So few other games have APIs at all, much less ones as extensive as Destiny’s. I think it’s easy to take it for granted, but that’s a mistake.

Of course Bungie is not making design choices with the intention of making things difficult for us. Implementing a feature such as cross save in an existing, incredibly complex game system surely involves countless design compromises due to the reality of the way disparate systems, run by completely different companies, are built.

I’m sure Bungie has done everything they can to build a usable system within the constraints of engineering, development time, UI/UX, etc that they’re working with, and I think we need to “play the ball where it lays” more, and learn to work with what they’ve generously provided for us, and not imagine they bear some obligation to accommodate our wishes.

TorKallon commented 5 years ago

+1

Everything he said.

On Aug 10, 2019, at 11:39 PM, Dan McCormack notifications@github.com wrote:

@Akumati1435 https://github.com/Akumati1435 please try to remember we’re incredibly lucky to have such an extensive API at all, much less an API team taking time out of their day to share information with us and engage in dialogue to help us better understand how to effectively use what they’ve built.

So few other games have APIs at all, much less ones as extensive as Destiny’s. I think it’s easy to take it for granted, but that’s a mistake.

Of course Bungie is not making design choices with the intention of making things difficult for us. Implementing a feature such as cross save in an existing, incredibly complex game system surely involves countless design compromises due to the reality of the way disparate systems, run by completely different companies, are built.

I’m sure Bungie has done everything they can to build a usable system within the constraints of engineering, development time, UI/UX, etc that they’re working with, and I think we need to “play the ball where it lays” more, and learn to work with what they’ve generously provided for us, and not imagine they bear some obligation to accommodate our wishes.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Bungie-net/api/issues/956?email_source=notifications&email_token=AABVGF4SQQXCQSTCTWG2YQ3QD6CYDA5CNFSM4H6NNE7KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4AZLOY#issuecomment-520197563, or mute the thread https://github.com/notifications/unsubscribe-auth/AABVGF3WQ4H2ZV47BDRVMWTQD6CYDANCNFSM4H6NNE7A.

ghost commented 5 years ago

@cowgod Trust me, I know how lucky we have been. I have 6000 people in my discord server and 1000 clan members. I have WAY more activity per member than any other major clan system in this game (https://www.apx.gg/pictures/Recruitment/bungiemonth.png) because I've utilized the API to find the people who aren't participating in it. My community is THE most active multi-clan community in this game. I have automated nearly everything in my discord myself. I have built an entire layer on top of what Bungie gave us so my staff can act on any division as if they were in it. I am discord partnered for the effort I've put into making my community as successful as it is.

So think about it like this. I am saying these things and acting this way because I care about the community I've spent 4000 to 5000 hours building. I don't want to have to close it down because some immature kids decide to have a field day when they realize we can't hold them accountable for being racist twats. It isn't a question of if it's going to happen. It's a matter of how soon. Think about it... if you saw your in game clan chat being spammed with the N word every day what would you do? It literally takes 1 person to ruin the other 99 clan member's fun and if you can't figure out who that person is, people are going to leave.

I've said what the problems are repeatedly here. No one will even acknowledge this is a problem that will occur or suggest how to work around it. Bungie flat out said that because this only affects one platform, they aren't going to bother fixing it.

we're not going to build an entirely new one [account system] just for one Platform

Put yourself in my shoes. They didn't say "Yea, I can see this being a problem. We can try to figure something out in the future to help with this". They flat out said they aren't going to fix it. If Bungie could just say they see this non-unique ID issue I've been harping about as being a problem and for a second not blaming steam for it would be nice. This is completely within their power to fix. It'd just take some of their higher ups to see it as a problem and re-prioritize peoples deliverable.

floatingatoll 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.

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.

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?

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.

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.

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.

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.