Disconnect Player on Removal from DataModel

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.

Hi everyone,

Apologies but upon rollout, we noticed this change has some negative interactions with other parts of the Engine. Because of this, we’ve made the decision to roll it back and investigate the issue. We’ll work to bring this change back to you guys as soon as possible.

We know that some of you were looking forward to this change - as a workaround, please use the method Player:Kick() when you remove the Player from the DM for now. It is a bit wordier than just removing the Player object, but we’re hopeful we can fix this soon!

We will give you guys a heads up once we’re ready to roll this out again.

Thank you.

3 Likes

Surely Player:Kick() has less characters than Player:Destroy() or Player:Remove() but, oh well. Hopefully you guys will find a fix.

Wait what was wrong with using Player:Kick() in the first place?

Am I missing something?

Sorry, I was unclear. There isn’t any issue with using Player:Kick() in the first place, but I assume that some of you guys want the functionality of automatically kicking a player when the Player object is removed from the DataModel - Player:Kick() won’t automatically be called when you do player.Parent = nil or player:remove() or player:Destroy(). If you want to disconnect when any of those are called, you’ll have to hook up a listener yourself for the time being.

2 Likes

Ah I see! My bad.

I’ve always just used the Kick method to remove the player.

2 Likes

This hasn’t been still rolled back. Why is this taking a month to roll it back or has this been forgotten?
I wish we have a option to turn it off or on.

Do I need to do this to clear all connections now?

Players.PlayerRemoving:Connect(function(plr)	
	plr:Kick()
end)
1 Like

That’s strange, the change described in the DevForum post has been rolled back. I think it might be the case that there might be some other new feature (i.e. some new security feature) that might lead to similar behavior.

Wait, did you remove this update or do you mean you put it back?

Sorry - to be more clear, I mean that the change that automatically disconnects the Player upon the Player object being removed from the DM that I was talking about has been disabled for a while.

1 Like

Is there any update on the timeline here? Assuming the change is still disabled.

1 Like

Hey! Sorry for the very long delay, but we’ve finally managed to debug and fix this up! This has been re-enabled as of April 20, 2023.

As always, if you see any issues with this change, please follow up on this DevForum post so we can quickly assist you!

1 Like

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.