Should I trust Byfrom or am I looking for a better solution?

Basically, about 1 day ago I was doing a dodge system and all that, at first I did it all in a local script, but I remembered that there were exploiters so I made it also manage on the server, when I used HumanoidRootPart. Velocity = HumanoitRootPart.CFrame.LookVector * 200 on the client it works, but on the server it doesn’t so the only thing I could do on the server is to manage the player’s energy (a feature in my game) the question here is:
why does it let me use that on the client but doesn’t work on the server?
How could an exploiter break that from the client?
I shouldn’t be afraid of this?
what solution do you give me?

The reason that HumanoidRootPart.Velocity = HumanoidRootPart.CFrame.LookVector * 200 dosent work on the server is becase the physics of the player is calculated by the client. Roblox does this by default to make the charater feel responsive, as having inputs from your keyboard transmit to the server is slow and makes movement feel sluggish.

To apply a physical force on a player from the server, first set the Network Owner of the player to the server using SetNetworkOwner(), then apply the force.

HumanoidRootPart:SetNetworkOwner(nil) --nil is server control, a player instance is player control

Yes, Exploiters can take advantage that they have control over their entire physical movement, allowing them to fly and noclip, but anti-cheats exist for that reason. And also, to the best of my understandings, Byfron is not an anti-cheat, its an anti-tamper tool that should prevent people from stealing games.

hope this helps :grin:

4 Likes

byfron just obfuscates robloxs code and makes it harder to reverse engineer and make exploits for. once an exploit has been injected, however, it does not have to go through any further obstacles to inject (as far as i am aware)

1 Like

hey I’m so sorry to bother you but I did it like this and it doesn’t work for the world

local HRP = plr.Character.HumanoidRootPart
HRP:SetNetworkOwner(nil)
HRP.Velocity = HRP.CFrame.LookVector * 250

No worries! But first of all, is there any errors? and is this code in a sever-sided script?

There is no error in the output and the script is in this way, the client sends the remote event, the server receives it with a parameter (Player) and then executes the following;

local HRP = plr.Character.HumanoidRootPart
HRP:SetNetworkOwner(nil)
HRP.Velocity = HRP.CFrame.LookVector * 250

Well, i just ran this code in the command bar to be sure

local HRP = game.Players.Rabbit_Lord.Character.HumanoidRootPart --only difference is that I have been pre-defined
HRP:SetNetworkOwner(nil)
HRP.Velocity = HRP.CFrame.LookVector * 250

So there might be something wrong with the function or something else around it. try using Print() Statements to see where code is running and not running.

1 Like

i got the variable in another way and it worked but now i have a problem, the movement looks slow and weird

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