Hello, lately i’ve noticed that replication via remote events/remote functions have been extremely slower. It’s almost as if requests jumps to the queues 10x faster causing things to be delayed.
For example, when my friend and I are chatting (even when not many other server/client calls are happening simultaneously, if any at all) the chats take extremely long to appear. Also, player movement is a lot choppier on the server.
Here’s a shot of the Performance Stats when it was delaying.
I don’t know whether it was a recent Roblox update or something on my end such as a data leak, but I reverted the place four days back (when it was working perfectly fine) and the issue still appeared. Could it be a sudden issue with client connection to the server? I don’t even get poor connection.
Is anyone else having the same issue? Please help. This issue completely flung our development off track and we hope there will be a solution soon.
Hi, can you provide all relevant id’s. Generally this would be your user-id and the id of whatever place is affected. I generally suggest placing these links in your profile – especially if you work with multiple places, group places, universes, or maintain places for friends.
My suspicion is that this is some inadvertent triggering of the new remote-event rate limiter in a persistently triggered case. This was a concern about rate-limiting – you might be spamming low-cost remote events without realizing it. We may have analytics to show this. You might also be able to observe this in dev-console logs as there should be a printed message when a player seems to be spamming remote events.
Yes, I started testing the place after this post and I noticed it does have something to do with sending data across remote events. When a player joins in sends a table (their player data) via a remote event. I noticed that when it does this when a second player joins, the ping (shown via F3) consistently rises and doesn’t decrease until that player leaves.
I removed the data update signal from server to the client and this issue immediately stop.
I can send you a place ID and provide the line number if you’d like.
And is this not the ideal way to update the player’s data on the client (if its using a table) when they join? Is there another way I should be doing this?
I’ve had some very similar problems recently, some vehicles I made that worked perfectly a couple months ago, now cause ping of over 10k when active in a place, the code is basically untouched since the time that it worked perfectly.
I am getting similar issues recently. It seems that some servers are fine, but others suffer large lag spikes when doing almost anything client to server - Firing remotes, Activating tools, etc.
The “Average Ping” stat in the dev console will sit at a normal value (80-200) and then jump to 1,000+ when the client interacts with the server.
Some servers have this really bad and some seem to not have it at all. I have also not changed my code recently.
No, I actually have a lot of different remotes pretty much one for each unique event. Not sure if that is bad practice in general, but it doesn’t seem like I should be hitting any rate limits - most are not fired very often.
(Really, everyone should place links to their id’s in their profile – user id, place id’s, group id – whatever you mean when you say “my place/group/etc…” This might seem odd/annoying at first, but there have been cases where “my place” was actually “this place I maintain for a friend – and I’ve got many friends”.)
You should be able to see dev console logs as well. There is a message that “player X is spamming remote events”.
The current limiter is around 600-700 per second-player with some burst capacity over that amount. In testing, server can handle over 17k per second if the events are suitably lightweight. (studio handles less than this due to added diagnostics)
And, as always, I welcome/want any/all feature requests for how actual game developers want to customize/tune this. My goal is to stop remote event spam from crashing games while not discouraging devs from using remote events. (Hopefully this is evident from the fairly candid 337 release notes.)
Tell me if you need it public. If you’re able to access this place because you’re part of Roblox staff, the ping issue can be recreated by simply swaying your camera (while you’re in the round) for 30 sec - 1 minute straight.
When you’re swaying your camera around, its firing from client to server at 20 hertz max. Which is extremely, extremely far from the 600-700 per second limit.
Thanks. It looks like you are spamming sounds at a fairly high rate. There are two other limiters for other known expensive operations. One is currently not enabled due to a bug. The second is for remote events of sounds, and the limit is closer to 10% of the global rate limit IIRC. I don’t have info on the specific sound or remote event though.