Networking: fast firing weapons?

Is there any trick to reduce number of packets sent when firing a fast weapon like machine gun or flamethrower? For example how does TF2 handle theirs?

So send - begin fire, end fire events to all the clients and use them for the simulation.

On the firing client - add your damage packet to a List and then send them all 5 times a second or something. It’s actually quite possible to turn that list into a string and fire it across the network. My extension to RPC here has the code to convert a serializable class to a string and then reconstitute it on the far end. In other words you can RPC to methods with parameters that are your own custom serializable classes.