Hi. Actually I looked at the ping again. BF2 seems to have a slightly buggy way of checking the ping as it fluctuates when its actually 16 or there about. I went back to running the Windows server on the same machine to rule out any problems between my Windows and Linux machine.
This is the reported ping from my Windows machine to the Linux machine ...
michaelzfreeman@DESKTOP-QOJ2SDI:~$ ping 192.168.1.92
PING 192.168.1.92 (192.168.1.92) 56(84) bytes of data.
64 bytes from 192.168.1.92: icmp_seq=1 ttl=64 time=0.920 ms
64 bytes from 192.168.1.92: icmp_seq=2 ttl=64 time=8.41 ms
64 bytes from 192.168.1.92: icmp_seq=3 ttl=64 time=1.01 ms
64 bytes from 192.168.1.92: icmp_seq=4 ttl=64 time=0.990 ms
64 bytes from 192.168.1.92: icmp_seq=5 ttl=64 time=1.31 ms
64 bytes from 192.168.1.92: icmp_seq=6 ttl=64 time=5.35 ms
64 bytes from 192.168.1.92: icmp_seq=7 ttl=64 time=5.08 ms
64 bytes from 192.168.1.92: icmp_seq=8 ttl=64 time=0.993 ms
^C
--- 192.168.1.92 ping statistics ---
8 packets transmitted, 8 received, 0% packet loss, time 7006ms
rtt min/avg/max/mdev = 0.920/3.010/8.413/2.701 ms
(It's using Ubuntu CLI for Windows 10 before anyone get's confused).
Here's the reported ping within Windows 10, straight through it's own IP. Loop back basically.
michaelzfreeman@DESKTOP-QOJ2SDI:~$ ping 192.168.1.80
PING 192.168.1.80 (192.168.1.80) 56(84) bytes of data.
64 bytes from 192.168.1.80: icmp_seq=1 ttl=128 time=0.115 ms
64 bytes from 192.168.1.80: icmp_seq=2 ttl=128 time=0.112 ms
64 bytes from 192.168.1.80: icmp_seq=3 ttl=128 time=0.113 ms
64 bytes from 192.168.1.80: icmp_seq=4 ttl=128 time=0.111 ms
64 bytes from 192.168.1.80: icmp_seq=5 ttl=128 time=0.114 ms
64 bytes from 192.168.1.80: icmp_seq=6 ttl=128 time=0.125 ms
^C
--- 192.168.1.80 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5004ms
rtt min/avg/max/mdev = 0.111/0.115/0.125/0.004 ms
As you can see there's not inherently anything wrong with network speeds.
Then I thought the server might not have enough CPU and memory as I noticed the server FPS is 33 in Linux and 35 on Windows. My Linux machine has an older Intel Quad Core Q9650 3 Ghz and 4gigs of memory which maybe could curtail server performance in some circumstances. But my Windows machine is a much more powerful i5 4690k 3.5Ghz with 8 gigs of memory so there should be no problems there, yet the effect of single shot weapons firing multiple times still happens on the Windows machine.
I removed the other lagging effects I was getting by setting the server IP to the correct IP - the IP of the machine it's on. So I'm not seeing any other lagging effects now. No skooting or skating. Yet all tank guns and AT guns that have to reload after every shot still fire multiple times.
Rifles and hand held AT guns (that also have to reload after every shot) do not do this multiple firing thing.
The effect is not anything to do with a problem with unofficial maps and this kind of thing. It does it on freshly installed latest FH maps and unofficial one's.
I found an article about a similar problem with another game (Minecraft) that showed a fix that was disconnecting the local LAN from the internet so the only networking going on is between machines on the LAN. That does not make any difference.
The effect is also intermittent. Even though tests show networking performance and computing power is OK the game will run OK for a while with tanks and AT guns (it's *ONLY* tanks and AT guns !) but suddenly it will start again and a tank will fire off a 3 round salvo.
I seem to remember that other mods running on my server that also have tanks that need to reload after every shot *DO NOT* do this (such as AIX), although I need to confirm that again.
I'm going to post on the BattlefieldSinglePlayer.com forums about this as they may have encountered it before.