Hi,
a buller is tricky to implement in a network environment, especially if it uses physics and if it goes fast.
if you are using physics and it goes fast, the bullet should only be simulated when you are on the owner and all other slaved instance simply slaved ( without any active trigger or colliders), only the owner is responsible for collisition or trigger detection. This is because each running application will be slightly delayed due to network latency, and so the collision will be different on each.
Bullets should be knowing the end result before it's even fired, that is do a raycast of where the bullet will end up and it it hits a player then the bullet animation is a secondary animation, every instance will know the results regardless of how the bullet is animated or simulated, this is the preffered way for 99% of the bullets.
not if you are simulating a rocket or inter continental type of waepon, then yes you can use proper physics and wait for collision, but again on one instance only to avoid different results on each running application.
Bye,
Jean