Here’s how to do a first person shooter (apart from the gun shooting.) To me this part is more difficult than actually making the gun shoot… I am not sure why. The First Person Element Of A First Person Shooter
Also if this is your first weapon you’re ever making, keep it simple. Do a simple 3rd person gun or use the tutorial I sent for a good first person.
Since it’s your first gun you just use a simple raycast. When a player clicks, have it tell the server to shoot. (You can keep track of ammo and all that.) The server will run checks to see if they can shoot, as in are they even alive or other checks you can think of. Then it will tell all clients to replicate the shot as in all clients make the bullet with a local script. Deal damage and all of that on the server, but make the bullet on the client, like the part itself.