Hmmm all great point Arenmook!
The sync time idea is a good one, and I'll explore that route today.
I have the latest ver (1.7.2.c), Running on Windows 8, and the server is running on the same machine as all the the test clients I run as I do not have access to a second machine. I am also connecting through my public IP address so I can test for lag issues.
I have read up more about UDP and now understand that there is up to a 4% chance of them being lost, and as you rightly point out, that is not ideal for stuff like weapon triggers. To me this makes UDP pretty much pointless. Any examples of when the risk of packet loss outweighs the benefit of speed? Still I guess it would be nice to learn how to use them if not just to strengthen my (weak) understanding of networking
As for Target.AllSaved my thinking is this: AT the moment I use a counting system to know how many projectiles have been launched. Atthe start of the sequence I say the number is 9999 which is more than they could ever fire. When they stop shooting another message is sent to say they have stopped and with the actual number of shoots fired. When a new player joins they are told a player is shooting, so it starts, then when the player stops shooting the newly connected player is told they have stopped and the real number of shoots fired. Sustained bursts for 10s of second can done by the player shooting, so, someone new to the game would not know they were shooting.
Having typed the above, I am wondering if AllSaved only deals with the very last messagesaved. So if there are 10 players all shooting, would it only trigger the shooting for the last person that started shooting, even though in reality, they are all shooting? If so I think I now see the flaw in my thinking.