IsFriendsWith() May Be Critically Failing And Causing Enormous Economy Disruption

This afternoon, I released an update to my game. Shortly after shutting down all servers, there were reports of players making hundreds of millions of dollars per minute simply by doing normal activities. I have reason to believe that Player:IsFriendsWith() was incorrectly indicating every player in the server as a friend, thus awarding an incredible cash multiplier to every player.

image

The output was being spammed with the following error:

The error was coming from the following function:


(This function is run on the server.)

I patched this function to return 0 no matter what and the issue was fully resolved.

This update changed nothing except some vehicle physics. This code has been functioning flawlessly and unchanged for nearly a year. As it turns out, some other users have reported unreliability with this API:

Unfortunately I have not been able to catch an incorrect result directly from the API (I cannot reproduce the issue via command line) but I believe IsFriendsWith was experiencing some kind of instability that caused the majority of requests to succeed and return true or fail with the no FriendService error.

4 Likes

This is just an acknowledgment announcement!

We’ve filed a ticket to our internal database, and we’ll follow up when we have an update!

Thanks for the report!

1 Like

Hello!
We made a change on IsFriendsWith in order to support over 200 friends on roblox that was rolled out today. We went ahead and rolled it back while we investigate this issue.

Thanks!

8 Likes

Please be careful with changes like these and make sure they go through adequate testing before release, there’s been countless issues with this new friend count update affecting so many parts of the platform :sob:

3 Likes

How will you be controlling the damage that was done to your economy? Rolling back player data?

1 Like

In this scenario it’s probably not worth the trouble. We were able to shut off the offending system almost immediately so we only have maybe a couple dozen players with hundreds of millions, which in and of itself isn’t impossible to achieve by just playing the game for hundreds of hours. So effectively some players got a free ride to the end of the game. :stuck_out_tongue:

We also already have some updates planned that will take care of players with too much money to spend.

1 Like

I wanted to follow back up with this.

Was it specific users who would have friend count incorrect or everyone in the server?
Was the incorrect count in the server counting every single user in game as a friend? or just a few users?
Was this issue happening to all users or just a few select users?

I understand if you don’t have all the answers, just trying to narrow down the problem. Tried to repro as close as we could on our side and couldnt get the same issue to reproduce.

Thanks!

2 Likes

Unfortunately I don’t have any good answers - I believe it was happening to all players but I could be mistaken. I saw a player reporting the issue, joined the game and experienced the issue myself, and saw people in chat talking about how it was happening to them as well.

1 Like

To close this thread out. I worked with @ChipioIndustries and we discovered it wasn’t that the friend count was returning incorrectly but had to do with the increased latency on the response of the api call causing the multiplier in the game to incorrectly award cash.

We improved the latency in a fix going out next week on wednesday that will bring it back to parity with the original api call so we don’t run into these problems again.

Thanks again for the report, one step closer to increasing the friend limit :slight_smile:

6 Likes