Disconnect Player on Removal from DataModel

But its not really needed nor worth making a toggle

2 Likes

please oh please make this off by default i’m so begging you

1 Like

How does this affect you? I would love to know, as it is a simple bug fix being done here.

4 Likes

I really think ROBLOX should release the Byfron Software (Anti-Virus) as soon as possible, Since it’s getting our of control.

So, would “disconnect” mean your client would close, or you’d receive a disconnection message as one usually does when they’re kicked from a game?

The effects im going to mention definitely shouldn’t be allowed though I thought I should mention that there qute a few weird behaviours you can cause by abusing this glitch with different code variation, such as deleting CoreGui, having the game pretend that you dont exist (I also believe this extends to the website), etc.

Now Script builder games have to bypass this. Alot of so called “SS Scripts” on SB type games are using the advantage of destroying player and using chat to say mean words or innapropiate stuff, roblox can’t track logs since there is no such player on the server, or ussually abuse powers and ban others this also works on client executors such as synapse to bypass and destroy player though it doesn’t work sometimes and do nasty stuff. I honestly think this is the best minor update.

-- L take, deleting ur player object literally breaks games this doesn’t make any sense.
image

-- and if ur only deleting the player object on other people’s clients and not the server or your own then this change won’t even affect u in the first place, do you think they’d just give clients the authority to kick other players??

5 Likes

-- if you parent yourself to nil on all other clients excluding your own and the server then it isn’t going to kick u, otherwise that behavior would allow exploiters to just delete players clientside and have them kicked from the server

1 Like

Since a lot of people seem to need this hacky method to “ghost” themselves, can you implement an alternative to this functionality?

If a Regular likes this idea, can you please forward this idea in #feature-requests:engine-features?

I propose two new functions in the Players service, HidePlayer(plrName: string) and RevealPlayer(plraName: string), which as the name suggests, hides/reveals the player based on the player’s name

The HidePlayer function would make their character model invisible to all expect themselves, and delete their presence from the built in sidebar and escape menu

The RevealPlayer function would reverse what the HidePlayer function does

These two functions should be enough to satisfy developers, and if developers need more, they can implement further functionality themselves

6 Likes

-- this would make more sense as a single function, such as ToggleVisibility or even just as a field on the Player object itself

We still need a toggle-able option, default should be on instead, but reason we need this toggle-able is because of this, and i know why.
Some people prefer to delete the player from the DataModel so they can spy on their players or something, and assuming even with custom playerlist, the actual playerlist would still be there or i think

Personally, this is good fix and i dont really care tbh

you could hide your name on the leaderboard as a developer in script builders by parenting your player to nil

1 Like

If you want to parent the player to nil then how are you going to make a LocalScript inside the player would work? I just want to know.

It would be nice to implement an official way to kick players without removing their character/guis so we dont lose some of the creativity that came with the bug.
A special attribute for players that toggles their visibility on the ESC menu leaderboard would be nice, too

1 Like

Does this mean I can no longer place exploiters to nil to make them have the “Kicked due to unexpected client behaviour” message…

Why did this take 15 years to add

Hello,

I tested the issue on my side and yes it’s weird nothing work except the settings and the report menu.
So yeah, it’s a good thing to add.

As others have said, as long as this doesn’t change the behavior of locally removing or hiding other Player objects (essentially allowing a developer to hide themselves or anyone else from the playerlist), then I see no issue.

I also agree with what others have suggested about a proper built-in way to hide a player from the playerlist. Now I’m not sure that we need an Incognito Mode. But it would, at the very least, be nice to have a proper way to hide players from the client completely (preferably so exploiters also wouldn’t be able to tell the difference). It would also be nice, for that same function, to include a default behavior (perhaps globally or per-player). This way a specified user or perhaps all players join invisibly without even alerting a client that they have connected, until a method is called on the server to reveal them. Then once revealed or made hidden, it would trigger PlayerAdded/Removed events on all other clients.

The above is essentially already possible with the current behavior, all except for hiding by default (because a client would be able to detect a player joining even if they’re immediately destroyed or moved to a different location) and also making it look like the player disconnected rather than anything else.

1 Like

Any update on this? I’m using this in my anticheat, but it doesn’t seem to disconnect you yet.