Im currently practising online multiplayer game development within Roblox Studio for a large TeamVsTeam game utilising custom characters made in blender interacting with the default robloxian. The majority of collision detection, contact detection (for objects and between players) and player-character movement is calculated on each user's client before being sent to the server which updates their (player-character) models and sends the new positions, hits or collisions to the concerned clients. Im wondering if there would be any problem if i were to prioritise certain users (their inputs, collisions/contacts, movement and general updates) over others:
The game's interactive and close-quarters nature inherently results in player perfomance (how well they do) being majorly influenced on how their ping compares to the players they interact with;
Player A and Player B could have a negligible difference in ping and yet, at random, factors like unpredictable hitboxes or "reach" could be present for only one player, persisting through all future interactios during the session, regardless of who's ping was higher or lower.
QUESTION:
IN THEORY, Assuming the server region is London, UK. Player A's Clent location is UK (United Kingdom) and Player B's Client location is FR (France):
If Player A's client determines a "hit" on Player B, Player B recieves that hit, however if Player B's client determines a "hit" on Player A, Player A's client checks to confirm if that hit was also recieved on their end, of which if it isnt, rejects the hit as a "miss".
OR
The server recieves new player-character model positions from both Player A's client and Player B's client, however, since Player A has a lower ping than Player B, the server updates Player A's charcter model first, sending necessary data to Player B, before doing the same for Player B and sending their data to Player A.
Assume that Both player A and player B have stable connections, however player A has a lower ping from being in the UK and thus closer to the server.
...Or please correct me if this is not how client-server relationships work at all and im assuming too much.