Linetrace not hitting anything when replicated

Sorry dude but your code is a mess.

You can not multicast from the client which underlines my theory from before that you only set your weapon on the client or ther server has a the same value set to a different gun or something. Would be interesting what your InitWeapon does.

PS: a valid check is useless if you ignore it anyway