What is going on with my game?

My group game is having an issue today. Yesterday we got hit with an exploiter attack and this morning, everything inside of the game is gone. The game is still uploaded but when users join the game the only thing they see is the baseplate and starter GUIs. This is happening to Two of my games today.
In-Game: https://gyazo.com/26de538d859dcd5f8b3a6ea8112d60fb
In-Studio: https://gyazo.com/f214e8035f1b3a10a1331068b03cd708

This is not a new game, this game has been up for months with no issues and now it is just a baseplate. So far I have tried re-uploading the game with no luck. I also tried to move/delete some things in the game and then re-upload it.

Any solutions on what may have caused this issue and what a possible fix is? At first I thought an exploiter just used Btools to delete everything but even new servers are like this so it’s confusing…

If it’s the game then just reset the servers or update the game to the normal version and it’ll be back to normal.
Also here’s btool prevent localscript:

local Player = game:GetService("Players")
local Ememy = Player.LocalPlayer
repeat wait() until Ememy.Character
local Backpack = script.Parent.Parent.Backpack

Backpack.ChildAdded:Connect(function(Ob)
	if Ob:IsA("HopperBin") then
		Ememy:Kick("No B-Tools allowed")
	end
end)
3 Likes

Have you considered maybe a script you or someone put inside the studio is just deleting everything. Or maybe a player is joining and specifically resetting everything themselves. Also note your game should really be fe(filter enabled) if someone was deleting something it would only show client side for them not everyone.

My game is filter enabled so maybe it wasn’t an exploiter I am not sure. My game has been up and running for months so I don’t believe that a script is causing this to happen. Plus the scripts in my game are not free modeled. Ive reset the game several times on private and it’s still just baseplate.

Maybe check for any viruses in the game because that can happen too.

Thank you for the tool prevention. I have reset the server several times and updated it several times (in private mode) So I am still very confused.

Do you use team create?

I need more characters.

I do not use team create with any other users. Just my other alt account.

Okay, since you use teamcreate, try going to the game’s page and under the “…” menu click “Migrate to Latest Version”.

Also, can you check out the Configure Place page, find the Version History tab (screenshot below), and verify that the place has not been changed since you last modified it? Also, from there, you can revert the game to any older version you’ve published.

Version History Tab

Edit: Keep in mind once you revert a game you have to open it in studio and publish it from inside of studio.

I actually already tried reverting the game to about a month ago and the game is still showing nothing. At first I thought maybe there was something in the game that was maybe banned, but it’s happening on other games too so.

Update I just tried publishing a whole bunch of my old games under that game. Everything I publish shows nothing.

Hello There
Can You Press Ctrl + Shift + F and search these keywords in studio
“Require”
“getfenv”
if there’s any of those you should instantly remove the script if it’s not similar of your scripts that you made
check your plugins if there’s any suspicious plugin you don’t know remove it
also you can check if your remotes is abuseable if there’s something can be called without sanity checks like a remote that can hide stuff etc

1 Like

This is a backdoor. I am pretty sure you probably got it from a plugin - so clear your plugins. Also try this script in the command bar:

for key, desc in pairs(game:GetDescendants()) do
	if desc:IsA('Script') and desc.Source:find('require') then
		print("backdoor located at: " .. desc.Parent)
	elseif desc:IsA('Script') and desc.Source:find('getfenv') then
		print('backdoor located at: ' .. desc.Parent)
	end
end
1 Like

I doubt it is a remote event unless the game has loadstring enabled and loads whatever argument is sent to the remote.

1 Like

true i agree with your point sometimes people though make their remotes abuseable making the client send request in which part can be deleted or making values to false/true 0/1 without any checks in serverside but i doubt that in this case , I agree with your point btw this is probably a backdoor like rc8s said try to clear your plugins or see your scripts if they have anything

1 Like

This is most definitely a backdoor.

I suggest you run a scan with GameGuard Antivirus. It should detect any suspicious scripts, and prevent future attacks.

If GameGuard doesn’t help, then it is a security issue in one of your remotes. You should add this script into your ServerScriptService:

local function addListener(event)
if not event:IsA('RemoteEvent') then return end
event.OnServerEvent:Connect(function(plr,...)
local args = {...}
warn(string.format('%s has just fired a remote: %s with args %s',plr.Name,event:GetFullName(),args))
end)
end

for i,v in pairs(game:GetDescendants()) do
addListener(v)
end

game.DescendantAdded:Connect(addListener)

This should notify you in the Developer Console (F9) whenever someone fires a remote and provide the parameters that were fired with it. You can use this for your advantage when an exploiter starts exploiting to see if they are firing a remote that they shouldn’t be.

2 Likes

As @deluc_t already wrote, It might be a backdoor caused by adding a virus into your studio. It happens commonly, when you’re adding free models.
I recommend to follow @deluc_t instructions to fix it, he was working with me and he helped us with backdoors a lot! (because other devs liked to get paid for free models, rip)

1 Like