For dedicated server: Sending player location to all other players, or sending player location to server?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By jchillen

Currently I have a dedicated server script which is working fine. Players can host/join a game via a randomly generated game code.

However, updating the avatar of other players’ locations is chunky, and I suspect either 1) It’s because I am having the player send its location information to the server so that the server holds it in memory, and then when another player requests that location it sends it on over using rpc_unreliable_id() calls. Or 2) the data structure I’m storing the player’s information in is inefficient (I have a dictionary of player data where the key is the player’s network ID and its value is the player’s location).

I have a couple questions…

Is this a common set up which I just need to figure out how to optimize, or is it best practice to instead just loop through each player on the network and send them the current player’s position?

And when players connect to the NetworkedMultiplayerENet server, does the server handle requests in a multi-threaded fashion, or serially? I.e. could my shared dictionary set up be causing some sort of collision which is causing the chunkiness, or should I not be worried about that?

Thank you!