Hi
For firing, I think it’s handled by first firing on the local client and then passing the location and direction of the local fire to the server through an RPC. Then using that information on the server’s fire. The client and server are probably not going to be in sync if you’re moving so you need to make sure the bullet also fires from the same location and direction on the server.
Are you doing firing this way?