diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 22be4dfb7..f6bb86d39 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -5883,19 +5883,20 @@ void NetUpdate(void) hu_redownloadinggamestate = false; - firstticstosend = gametic; - for (i = 0; i < MAXNETNODES; i++) - if (nodeingame[i] && nettics[i] < firstticstosend) - { - firstticstosend = nettics[i]; - - if (maketic + 1 >= nettics[i] + BACKUPTICS) - Net_ConnectionTimeout(i); - } - // Don't erase tics not acknowledged counts = realtics; + firstticstosend = gametic; + for (i = 0; i < MAXNETNODES; i++) + { + if (!nodeingame[i]) + continue; + if (nettics[i] < firstticstosend) + firstticstosend = nettics[i]; + if (maketic + counts >= nettics[i] + (BACKUPTICS - TICRATE)) + Net_ConnectionTimeout(i); + } + if (maketic + counts >= firstticstosend + BACKUPTICS) counts = firstticstosend+BACKUPTICS-maketic-1;