Upcoming changes to game badges

Moved my older thread to become a feature request - BadgeService:UserHasBadge behavior change - request

I don’t see an incentive to not make it so players who aren’t in the game can be checked for their badges.

May I ask, why is this change happening for PlayerOwnsAsset to no longer function correctly for badges? - My guess is because it’s awarded, rather than published/owned by the user. But same thing can be said about clothing, models, audio, etc. as well then. Is it for aesthetics?

1 Like

We have one giant database table which records which assets a user owns. This includes hats, gear, places, badges, etc. We’re running out of space in this table so we’re moving all badge ownership records to a new table just for badges.

13 Likes

By any chance have you made any changes to PlayerOwnsAsset in the past week? I’m getting reports that people’s purchases/stuff they already bought are not being recognized by the server on rare occasions and I can’t find what I’m possibly doing wrong if nothing(to my knowledge) has been changed.

edit: The issue started happening on May 1st when there was hosting issues and everyone’s games went down to a thousand players or less. Could there be a bug still happening because of that day? Just went through all server and client code, all 28k lines, and compared each line that wasnt identical and everything did not impact my checking if a player owns a gamepass or not.

So what happens when it becomes full?

Also - does BadgeService:UserHasBadge cache, in case I check if a player owns a badge at one point, which returns false, and later on try again where the player has the badge - will the cached false be returned, or will it do a fresh lookup and return true instead? What about in the admittedly rare case of a player removing the badge from their inventory?

Also, from this wiki page, the restricted door tutorial should be changed to use MarketplaceService:PlayerOwnsAsset instead.
And restrictions such as it only working in live servers.

1 Like

Not that I’m aware of. Would you mind filing a bug about this so we can investigate?

After that point in time, all attempts to award badges would fail.

Yes, it does. I’ll see about adding this information to the wiki article.

1 Like

So couldn’t we just expand the size of it?

1 Like

I don’t know enough of the technical details to answer your question but I can assure you that we considered all our options and chose the best approach.

1 Like

Posted a feature request here that was targeted at all older methods instead of a specific one like with @As8D’s thread.

I think this change went live, however:

This did not happen at all, AFAIK. I had some leftover UserHasBadge call in my game that I skipped, and it just silently failed (returned false all the time) without warning, and caused a lot of inconvenience to players of my game.

1 Like

Yep, I can confirm. I just got a ton of reports of things not working because I was relying on the having the warnings there.
I was using BadgeService because MarketplaceService is throttled way too much and I keep getting 429 responses

3 Likes

We did not intend for the change to go live this early. We have temporarily turned it off until Monday of next week, so please update your games by then.

4 Likes

Thanks for the update. Will wrongly used calls trigger warnings after Monday? This was the main inconvenience that I wanted to point out (not the change itself going live after a long preparatory period, that’s completely fine of course :slight_smile: )

1 Like

No, unfortunately the warning messages are not live yet. We are working on it.

2 Likes

I got an email yesterday from ROBLOX warning me that a few of my games may be affected by this change. I was confused about why it chose the games it did. Is this warning system simply based on games that utilize either UserHasBadge or PlayerOwnsAsset?

We notified game developers who we noticed were using the methods incorrectly and will be affected by this change.

2 Likes

Does the warnings come from a pm, e-mail, in game or any other way?

With the introduction of this will there be any decrease in the throttling for PlayerOwnsAsset? One of my games uses BadgeService, because it isn’t as throttled, to check assets.

We sent warnings via email in this case.

How often are you calling PlayerOwnsAsset? If you are calling it more than 1000 times a limit, it is reasonable that you are getting throttled. If you’re calling it far less than that, e.g. 100 times per minute, make a thread in bug reports and we’ll look into it. Otherwise you may need to adjust your code so it does not call the method as often.

1 Like

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.