Author Topic: [not a bug] 3.6.0.3 - another "out of synch" error  (Read 606 times)

TotalNoob

  • Guest
[not a bug] 3.6.0.3 - another "out of synch" error
« on: 16 March 2012, 01:03:27 »
Error window was saying something like: "synch error, frame count does not match". Dummy I forgot to make a screenshot again but just pressed ok... We were playing on tomreyns computer as server with japanese techtree. A couple of minutes before error there was only one lag warning for me. Verbose log available here: http://dl.dropbox.com/u/2026535/megaglest_3.6.0.3_verbose-outOfSynchError.log.7z

My PC config is in signature.
« Last Edit: 20 July 2012, 16:55:52 by tomreyn »

tomreyn

  • Local Moderator
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
Re: 3.6.0.3 - another "out of synch" error
« Reply #1 on: 16 March 2012, 02:29:08 »
Chances are that due to your mobile Internet access there are -sometimes (and other times not)- increased packet loss/packet checksum mismatches, resulting on TCP retransmissions, resulting in a certain probability that you may suddenly get disconnected.

If you are were on Linux, you could use the tcptraceroute utility to measure this.

On Windows, there is tcping. It doesn't allow you to set a packet size and does not indicate retransmits but it's better than nothing and way more user friendly than wireshark / tcpdump (unless you know how these work in which case using these would be way better).

Code: [Select]
tcping -i 5 -n 120 engineer.megaglest.org 61357
This would make an okay test, sending a TCP packet to the gameserver port of the engineer gameserver every 5 seconds, 120 packets total, resulting in a 10 minute test (make it longer for more reliable results). Make sure this server is not running a game but is in the waiting for players state while you're testing.

It will be interesting to see whether there will be a large difference in the minimum and maximum trip times. If the maximum trip time is way higher than the minimum this would provide an indication that packet retransmissions took place because of either partial (TCP checksum mismatches) or complete packet loss, causing packets to arrive with much delay. Since the game really needs every client and the server to receive every bit of information that is sent around (otherwise calculations would be off), loosing packets is not acceptable. So the gameserver may need to wait for a client to retransmit packets (or needs to retransmit them to the client). However, if a TCP timeout kicks in or one packet of data could not be transmitted between server and client (any direction) for more than 60 frames (IIRC that's 60 seconds) the client will be dropped.

Clients will receive a warning if the transmit times for packets are elevated. However, they could be so high that the packet times out entirely and retransmission fails. If this happens instantly, you would get instantly disconnected without a warning, too.

I'm obviously explaining this under a generic networking aspect, you could get a better explanation by examining the actual networking code.
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

softcoder

  • MegaGlest Team
  • Battle Machine
  • ********
  • Posts: 2,239
    • View Profile
Re: 3.6.0.3 - another "out of synch" error
« Reply #2 on: 20 July 2012, 16:25:30 »
If you get a frame count error then this is surely a network related issue (and not a bug)

 

anything