Wresting character network ownership from the player

I’ve found that setting the network owner of a player’s character will automatically give it back within a frame or two.

Without delving into a system of custom characters and manual replication, I’m wondering if it’s possible to force server physics ownership of the player’s character for a short period of time while still being able to give it back to the player, and have it continue functioning normally.

Thanks

1 Like

Can you show the code when it sets network ownership?

In case anyone has the same dilemma and sees this, I came up with a hacky solution:

  1. Create a small, invisible part on the server (it must be Massless = false but you can reduce the density if desired).
  2. Set RootPriority of the part higher than the character’s base (Max 127)
  3. Set network ownership of the part to the server (Part:SetNetworkOwner(nil))
  4. Weld or otherwise join the part to the player character’s
  5. Server should now be physically simulating the character

Check out this article for information on RootParts: Understanding Assemblies | Roblox Creator Documentation

10 Likes

Hi there, this did not end up making it work for me. When you have two players, how do you deal with any welds between those? Lets say I want player 1 to jump high in the air (server controlled linear velocity) while they have player 2 grabbed (with a weld). How does the network ownership apply here? Assigning ownership of player 2 to 1 caused desyncs and is therefore not a viable option. Your method did also not work for me.

I need to assign a weld from player 1’s arm to the humanoidrootpart of player 2, where player 2 will be owned by the server. How would I achieve this?

Thanks a lot in advance