The question of Firing in FPS games?

Guys, I’ve been doing a Demo of an FPS game recently, but I have a problem, the models I use are separate from the first person models, which means the third person models are full bodies, and the first person models are just arms and weapons, but my first person models are almost at the neck of the third person models, I’m curious to swim Is the game production ServerFire and ClientFire carried out separately? ServerFire is fired from the third-person player’s gun for special effects and actual damage calculation from other players’ perspective, and ClientFire only emits effects from the player’s perspective, or only ServerFire, but I don’t know No, I’m annoyed, waiting for someone to tell me how the Fire function is done in third person and first person in FPS games.

At the most basic level:

  1. ClientFire from the centre of the viewport, doing all FX for the client except for third person effects.
  2. ClientFire makes a call to the server.
  3. Using the centre of the client viewport as origin, the server calculates where the bullet will land and does all the damage processing.
  4. Server tells other clients to do FX from the third person model to the calculated trajectory end location.

Every game does stuff slightly differently but follows the same principle.