If you create a new Camera instance every frame, you cannot interact with the Escape Menu. You can prevent it from being opened, or if it is opened you can prevent the page from being interacted with.
This can also be abused to selectively used to prevent users from using specific interactions on the Menu such as Report and Block by doing it when they try to hover over those buttons or menu options.
This can be reproduced 100% of the time by just doing something like:
local camera = workspace.CurrentCamera
game:GetService("RunService").RenderStepped:Connect(function()
workspace.CurrentCamera = camera
camera:Destroy()
camera = Instance.new("Camera")
end)
Here is a place file with a button that controls whether a new camera is being created every frame to demonstrate.
You can also delete the PlayerScripts instance from ReplicatedFirst before anything else runs and it will break pretty much many of the coregui and corescripts from loading properly.
Expected behavior
To be able to interact with the Escape Menu when new camera instances are being created.
Hi! developer of the previously linked game here (the game linked that took advantage of this exploit to begin with). As always, it’s good to make bugs known and get stuff fixed, and is good to remove this, as I imagine more malicious people may end up getting ahold of it. In our specific use case, we have the report tab disabled to prevent the constant mass-reporting of voice chat users that’s been happening for over a month now. (Macro users can mass report a whole server and get every single player banned or even terminated within a minute, which is obviously a big problem for a game that centers around social interaction.)
It would be nice if this post could bring attention to the fact that Roblox’s Voice Chat moderation is a garbage-fire, as reporting anyone who is actively talking in voice chat WILL ban them, regardless of the content the player says, as seen in this video. (not mine).
TL;DR, players shouldn’t have to abuse the roblox engine just to be able to use Roblox’s voice chat without a guaranteed ban. Unfortunately, this is the only solution we have, until Roblox decides to actually moderate their own platform.
Exploiters can mass report a whole server and get every single player banned or even terminated within a minute, which is obviously a big problem for a game that centers around social interaction.
If this is the reason for using the bug for your game then it’s pointless. Exploiters would not depend on the UI to send these false reports. The bug only prevents normal players from reporting rule breakers. This bandaid fix ultimately makes the report abusing problem worse due to fewer false reports. In other words, the problem goes less noticed by Roblox due to having fewer complaints about it.
I meant people using a macro that moves the mouse and does it for them (editing the original post to reflect this). Implementing this DID fix the problem almost entirely. Also, in the long run, Roblox has millions of players a day, and a game with an average of ~50-100 players at any given time is not gonna cause the issue to become “less noticed by Roblox”.
They can already :Destroy the Player instances from the client locally to prevent reporting each other, but yes they can use this to prevent reporting the game from in the game, but you can at least report the game externally–unlike in voice chat, where you cannot report people on the website.
Also, I have a created a half million user database collected from these communities, and lots of profiles point to “studio game” in their profile description, where they are not playing widely accessible published games that can be reported to begin with. DM me for more information on the data I’ve collected and the research output on the issue because this issue is not relevant to this engine report, and I will not discuss it further on this public forum.
Thanks for bringing this to our attention! We have fixed the issue and players should no longer be prevented from interacting with the menu in this situation.