Workspace.FilteringEnabled is not working properly

Workspace.FilteringEnabled seems to work strange in player characters

e.g.
when a localscript destroys a BoolValue inside LocalPlayer.Character, the server also destroys this object

is this normal?

Sorry for my english.

1 Like

Just tested this.
Server side code, in ServerScriptService:

game.Players.PlayerAdded:Connect(function(player)
	Instance.new("BoolValue", workspace:WaitForChild(player.Name))
end)

Client side code, in StarterCharacterScripts (in a LocalScript):

local val = game:GetService("Players").LocalPlayer.Character:WaitForChild("Value")
val:Destroy()

Server side:


Client side:

I’ve also verified that the BoolValue is created on the server side and replicated to the client.

1 Like

That is because the Player has network ownership of the character. All (maybe it’s limited) changes made to the character are replicated to the server.

1 Like

After some testing I’ve found that whilst the client can Remove() or Destroy() anything within the character, and have that replicated across the Client-Server Boundary, they cannot do the same when they change properties of anything within the character Model, or instantiate any new instances within the character Model.

2 Likes

thanks for answering
but it’s too weird
a boolValue is not a physical object, it should not be affected by NetworkOwnership

A Part, or any other “physical object”, is just an Instance, as is everything else in a Roblox game. The player has network ownership of every Instance in their Character, which includes BoolValues.

1 Like

In summary:
a localscript cannot instantiate new objects
a localscript cannot change object properties
but a localscript can destroy an instance with Ownership?

This is actually somewhat of a bug that has been reported several times over before. Network ownership has nothing to do with it, because that’s related to BaseParts only (cc @snorebear @plasmascreen). I can’t remember if there was any conclusive staff response regarding it.

BoolValues are physical objects but they aren’t affected by network ownership. Anything that isn’t a BasePart isn’t affected by network ownership.

Side note, a related exploit report (Members only iirc):
https://devforum.roblox.com/t/part-spawning-exploit/46032

3 Likes

really thanks, colbert.:grinning:

Well, I think it’s a dangerous bug
it’s weird that roblox have not solved it yet

Re-read your reply, but couldn’t find a previous report so am going to report it again. Lead Top Contributors can deny it if it has already been reported.

1 Like

I do not have permission to report errors
do it if you want

You need to make a Bulletin Board.

It’d be more appropriate to link the post approval procedure so they know what to do and why. Linking the Bulletin Board category doesn’t do much in terms of explaining things.