Is there a way of disconnecting a Player without kicking them?

Im working on a game and I would like to disconnect a Player, so that his game instance does not sync with the server! Is that possible? The disconnected player should still be able to walk around in his instance but should not be connected!

(Im using this to ban a player)

Please include script examples in your comments

Thank you for your help

3 Likes

no, I don’t think it’s possible. But keep trying, I’m sure you’ll find a way :slight_smile:

3 Likes

As far as you’re explaining it, it isn’t quite possible as I know of, but there might be a few hacky ways.

A few methods.

  1. simple player:Destroy() instead of player:Kick() (but this will also destroy the character)

  2. sending a remote to delete the player’s NetworkReplicator

function DisconnectClient()
  game.NetworkClient.NetworkReplicator:Destroy()
end

Roblox automatically has a network checker to see if a player is still online, so offline verions are not possible as of rn.

  1. Cloning all children in the workspace, detsroying the origionals and destroying all other players. This would be in a local script of course
local player = game.Players.LocalPlayer
function BasicCopy()
  for _, v in ipairs(workspace:GetChildren()) do
    if v ~= player.Character then
      if not game.Players:GetPlayerFromCharacter(v) then
        v:Clone().Parent = workspace
      end
      v:Destroy()
    end
  end
  for _, v in ipairs(game.Players:GetChildren()) do
    if v ~= player then
      v:Destroy()
    end
  end
end
5 Likes

There is a property of player when it is set to true, it fkes them being disconnected until it becomes falae

1 Like

Are you talking about “GameplayPaused”?

1 Like

Yes that’s it, I forgot the name, but that’s it

1 Like

There is a way! In a local script, paste the following.

local player = game.Players.LocalPlayer
player.GameplayPaused = true
2 Likes

I cant overwrite “GameplayPaused”!
I get the following error:
Unable to assign property GameplayPaused. Script write access is restricted

My bad, I thought roblox developers had permission to use this command. This means only the internal game/roblox has access to this. It is stupid. As a secondary solution, here it is:

for i,v in pairs(game.Players.LocalPlayer.Character:GetChildren()) do
if v:IsA("BasePart") then
v:SetNetworkOwnership(nil)
end
1 Like

I think it is only editable from the server, I can edit it Manually from the SERVER not the CLIENT