Global override for SetNetworkOwner - always server or always player

Hello everyone!
I had (still have) problems with the NetworkOwner. (I don’t want to speak about my problem here, I want to use it only as example) I have a problem with body movers on NetworkOwner. The NetworkOwner changes to server, then to nothing (I think), then if player is near that object it changes again back to server and so one. At the end, my part with a body mover stucks in the air and does nothing. To see this Click here.
Why I know this: I set in settings Allow . My not moving unanchored part was black, when it was moving, the part was red and my character was green, this means the red color must be the server.
I tried to do it with a script, I tried a lot and it never worked. The unanchored objects get always stuck.

This is why I have this idea:

A global SetNetworkOwner. It is located as properity inside Workspace.
The properity could look like this one here:image
Because it has 3 options:

  • Default: This option is currently, server and player are network owners. This option exists also to prevent bugs and errors for not updated games if this here gets addressed.
  • Server This option makes the server as only one network owner. This is good for games that use a lot of body movers or other stuff that is adressed as errors here: Click me!
    This here can reduce lags if there are many parts that have scripts with only a NetworkOwner switch. But this option here can also make more lags, because the server has to calculate everthing.
    -Player This option here makes the players as the only one network owner. This option doesn’t use only player, but it uses nearest player. The server doesn’t calculate the stuff. The nearest player does it, even if a part is 100 studs away. This option can be good for games with max.1 player. The problem is that the players have to load all and this can be a problem for phone users, but if there are many players, it gets divided on everyone(depending on the distance).

Conclusion to this 3 options:

  • Every options has it positive and negativ aspects, that can be used in his advantages.
  • The Developers are free to choose what option the best is for their game.
  • This 3 Options can solve many problems developers confront.

If Roblox is able to address this issue, it would improve my development experience because I don’t have anymore so many scripts that makes the part networkowner(server) with this 3 options. Developers can be free to choose what of these options is the best.

This is all I wanted to say, time to say bye.

This doesn’t really work.

  1. Characters always have to be player simulated. Your character physics would feel awful if they were simulated on the server.

  2. The server still has to coordinate physics hand-off even if players are doing the simulation. During the interval where the server is deciding to who exactly to distribute the work to, it is going to be doing the simulation.

Basically, this would be trying to impose a stricter network model than actually works well in practice.

3 Likes

ok, the 1. The character could be loaded by the player itself and the other stuff by the server.

But you are right.
My feature is not feasible in practice.

Sorry for my silly idea :wink:

1 Like

Don’t worry about it. Even if your suggested solution doesn’t work, input such as that you’re very frequently having to set the network owner is still useful.

3 Likes

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