Hi,
So basically I’m trying to create a system where I create parts on the server and make it visible for only one client instead of all of the clients in the server by placing the part in ReplicatedStorage and letting the client that it was made for to take it out, while the other automatically delete it. I want events like BasePart.Touched
to be running on the server to make it more secure so exploiters can’t mess with any Touched remotes I make. There are two problems with this method:
-
The issue that is stopping me from doing this is the fact that apparently Roblox might be pausing
BasePart.Touched
from working if it’s on the server, so even after I drag it to Workspace on the client and attempt to touch it the server isn’t picking it up whatsoever. -
I believe this method might not be the lightest if I’m sending many parts within a small time frame since it’s also replicating to every other client, not just one (Remember, only one client is actually using this part, the others delete it from ReplicatedStorage).
The only solution that I have found is instead of replicating the part(s) to the client with how I’m doing it, create the part on the client via remotes specifically sent to the client (This solves 2), then the client would have full control over the part’s events like Touched
instead of the server, making it run. (This solves 1). The reason I don’t want to use this solution is that it might cause worse performance when the player spam touches a part (I’d assume with how Roblox replicates events like these it doesn’t hinder performance as much as if I did it with remotes in the same quantity) or worse, make the parts become much more vulnerable to exploits. Example: The exploiter could easily spam this remote for every part instead of having to teleport to many of them in the game (Which I could patch).
If anyone has a better solution or feedback I’d love to hear it, thank you!