Unity-Technologies / com.unity.netcode.gameobjects

Netcode for GameObjects is a high-level netcode SDK that provides networking capabilities to GameObject/MonoBehaviour workflows within Unity and sits on top of underlying transport layer.
MIT License
2.09k stars 430 forks source link

Allow deactivation of Connected client ids synchronization #2815

Open Mimi8298 opened 5 months ago

Mimi8298 commented 5 months ago

Hello, currently the server synchronizes its list of clients connected to the server with all authenticated clients on the server. In my current project, I can't think of any use cases where it's necessary for the server to synchronize all connected clients (except maybe when the server is also a client?).

Being able to disable this function would reduce the number of packets sent by the server (especially on instanced MMOs like my project, which have several hundred connections per server), reduce the chances of attacks on a server instance in one sense because it would avoid a client knowing the number of players on the server.

If this isn't possible, maybe allow to filter which client ids can be shared with clients? In the case where we have a server with instantiated/isolated scenes (as on my project) I don't want clients to see all clients connected to the server, but only the clients in the scene they are in.