Effects should be run on the server because there’s a possibility that you are a standalone server, i.e. you host a game and have graphics.
To replicate particles to all clients, create replicated method of Multicast type that is called on the server, or make the gun muzzle flash part of animation (via Anim notifies, if your gun is a skeletal mesh).