Do bodymovers replicate to the server from a local script with filtering enabled?

I recently looked at my old code from an older game of mine and found out that my rolling mechanic is completely local? Yet it has always replicated online just fine? This includes inserting a new bodythrust instance into the player locally, and yes the place has filtering enabled.

I’m worried if I should just do it via server for my new code

Any changes to an object the client has network ownership over will replicate to the server. Clients have network ownership of their characters by default so any physics changes you make, including through body movers, will replicate.

You can read more on it here:
http://wiki.roblox.com/index.php?title=Network_ownership

3 Likes

Not unless the client has network ownership over the object.

@ForyxeV Fun fact: whenever you set the .Character property of a Player, it is hardcoded to force network ownership. Trying to :SetNetworkOwner(nil) on the Character will simply not do anything.

3 Likes

You have taught me something new. Thank you

1 Like

That might be because you can only set network ownership of individual parts, not models as a whole - if you set the network ownership of all the parts in your character to the server, it should properly remove network ownership from the client.

Try it in studio (make sure you’re in test server mode, not play solo) and you’ll notice a delay when you try to move your character.

No, it won’t. It’s specifically hardcoded to make sure that doesn’t happen. It’s an undocumented special case.

1 Like

I tested it a minute ago just to make sure - you can try it for yourself here if you want

Can’t join right now. Will look later.

Note to OP: Editing the Motor6D’s in the character parts will not replicate and if you insert a Body mover into your character, it will not replicate to the server, but since your characters position replicates, any position changes done by the Body mover will be replicated.

2 Likes

To add to that: it’s important to remember that the bodymover itself as an instance doesn’t replicate to the server. Only the physics changes it makes.

1 Like