Lag screen and reconnection, revisited

Talk all you want about Defense of the Ancients here.
User avatar
h3rmit
Armored Tree
Posts: 57
Joined: Sat Aug 27, 2016 12:15 am
Has thanked: 4 times
Been thanked: 53 times

Lag screen and reconnection, revisited

Postby h3rmit » Thu Jul 10, 2025 3:53 pm

For years, there has been a recurring problem of people lagging or disconnecting from games, due to issues with their connection. And for years, this has been disrupting other players' gameplay and has been the cause of kicks, votekicks, reports and bans.

That's because Warcraft III by design, completely stops the game to wait for lagging/disconnected players. Newer games like Dota2/LoL follow an entirely different approach to handle player disconnection: They keep the game playing without waiting for the lagger.

In MyMGN, we solved that in 2015, a decade ago, by implementing a reconnection process similar to newer games. No lag screens, no stopping the game. Players would just lag, disconnect and reconnect without causing any trouble for the others. This was done by creating GProxy DLL, a special, advanced version of GProxy++. The feature was extensively tested and used in thousands of games, in all Warcraft III versions from 1.26 to 1.29.2.

In the following weeks I'll be performing an extensive research on how to migrate this feature to ENT and Warcraft III 1.30.1.

For a more immediate solution, I had a discussion with @Unitil yesterday, and the "synclimit" bot configuration has been raised from 50 to 300. For a game running at 100ms latency, this translates to an increase from 5 seconds to 30 seconds of a player falling behind, before the lag screen is shown. This change will delay the appearance of the lag screen, as well as the detection of disconnections, and should be enough to absorb most microlags. When a lagger's connection gets back to normal, they will see the game go in fast forward for a few seconds.

Feel free to provide your feedback, suggestions and thoughts about this.
These users thanked the author h3rmit for the post (total 4):
Astros (Thu Jul 10, 2025 8:17 pm) • GodSaveTheQQs (Thu Jul 10, 2025 5:43 pm) • kunkka (Thu Jul 10, 2025 4:51 pm) • MIKEJONES (Thu Jul 10, 2025 4:13 pm)

MIKEJONES
ENT Staff
Posts: 342
Joined: Wed Mar 08, 2023 12:32 pm
Has thanked: 29 times
Been thanked: 132 times

Re: Lag screen and reconnection, revisited

Postby MIKEJONES » Thu Jul 10, 2025 4:23 pm

Thank you @h3rmit.

Astros
Protector of Nature
Posts: 3461
Joined: Wed Jan 16, 2013 9:40 pm
Has thanked: 223 times
Been thanked: 254 times

Re: Lag screen and reconnection, revisited

Postby Astros » Thu Jul 10, 2025 8:17 pm

Is there a voice of objection as to why h3rmit isn't given the tools at his disposal or access to moderator (possibly admin) tools to improve what is remaining of ENT?

Seems like a no-brainer and actually bizarre that ENT hasn't implemented these changes the entire time.

User avatar
RichardCoffee
Treant
Posts: 272
Joined: Wed Aug 10, 2022 1:49 am
Has thanked: 17 times
Been thanked: 28 times

Re: Lag screen and reconnection, revisited

Postby RichardCoffee » Thu Jul 10, 2025 9:22 pm

If this change is implemented, won't the game be virtually unplayable for certain players?

For example, I already see players like hindusmash, squirtn, m96_420 and slarkypick typing 'i'm lagging' 1,000 times, even when the game will stop for everyone to let them catch up.

Now when the game is still running and slowing down only for them, I imagine them truly not being able to play - dying over and over in fights with a frozen screen, staring at incoming heros because they're lagging, etc. Not sure if I understood the implications correctly or not.

User avatar
lex-
Forest Walker
Posts: 228
Joined: Sun Mar 31, 2019 10:29 pm
Been thanked: 17 times

Re: Lag screen and reconnection, revisited

Postby lex- » Fri Jul 11, 2025 4:20 am

Entconnect shows 502 code that means it has some bugs.

User avatar
h3rmit
Armored Tree
Posts: 57
Joined: Sat Aug 27, 2016 12:15 am
Has thanked: 4 times
Been thanked: 53 times

Re: Lag screen and reconnection, revisited

Postby h3rmit » Fri Jul 11, 2025 5:13 pm

RichardCoffee wrote:If this change is implemented, won't the game be virtually unplayable for certain players?

For example, I already see players like hindusmash, squirtn, m96_420 and slarkypick typing 'i'm lagging' 1,000 times, even when the game will stop for everyone to let them catch up.

Now when the game is still running and slowing down only for them, I imagine them truly not being able to play - dying over and over in fights with a frozen screen, staring at incoming heros because they're lagging, etc. Not sure if I understood the implications correctly or not.


There isn't a real solution for lagging players to have a smooth gameplay, other than fixing their connection issues on their side.

Currently, what they experience is a cycle of:
Normal speed - Waiting for Host... - Normal speed - Waiting for Host... - etc

What they will experience after the changes will be:
Normal speed - Waiting for Host... - Fast forward - Normal speed - Waiting for Host... - Fast forward - Normal speed - Waiting for Host... - etc

Yes, it's as you say: they will die more with a frozen/fast forwarding screen, and will miss their turn to make a move while the others play normally.

In a sense, the game is currently trying to be "fair" for laggers, by being "unfair" to the other players. And while this design made a lot of sense in 1v1 or 2v2 WC3 ladder games, it doesn't sit well in 5v5 DotA games. They all have to stop and wait patiently for the lagger or disconnected player to make a move, often repeatedly in a game. Ruining the game flow and making it unbearable for everyone to play, in most cases.

Also, many disconnected players that would have normally rejoined don't even get the chance to, cause they get kicked/votekicked first. By letting other players play, a better chance at being reconnected can be given to them.

Frank
Forest Walker
Posts: 224
Joined: Thu Sep 13, 2012 12:54 pm
Has thanked: 12 times
Been thanked: 20 times

Re: Lag screen and reconnection, revisited

Postby Frank » Fri Jul 11, 2025 5:30 pm

disagree with this change rather wait for the lagger than have them ruin a teamfight

User avatar
h3rmit
Armored Tree
Posts: 57
Joined: Sat Aug 27, 2016 12:15 am
Has thanked: 4 times
Been thanked: 53 times

Re: Lag screen and reconnection, revisited

Postby h3rmit » Fri Jul 11, 2025 5:50 pm

Frank wrote:disagree with this change rather wait for the lagger than have them ruin a teamfight


So, as a Dota2 player, what would you do there? Pause the game if someone lags/drops during teamfights?

Would it help to also have a moderated pausing system that would take player drops into account?

Frank
Forest Walker
Posts: 224
Joined: Thu Sep 13, 2012 12:54 pm
Has thanked: 12 times
Been thanked: 20 times

Re: Lag screen and reconnection, revisited

Postby Frank » Fri Jul 11, 2025 5:58 pm

h3rmit wrote:
Frank wrote:disagree with this change rather wait for the lagger than have them ruin a teamfight


So, as a Dota2 player, what would you do there? Pause the game if someone lags/drops during teamfights?

Would it help to also have a moderated pausing system that would take player drops into account?


Well Dota2 has a behavior score system and usually people with good behavior scores are matched with other similar players ontop of the mmr system so in those games players usually pause for each other, within a reasonable time limit ofc. The lower behavior scored games are not so forgiving towards pausing for a d/c.

People aren't keen on pausing here, but your change would have more detrimental game outcome effects. Every split second can matter in dota more so than in ladder were split second decisions are more forgiving so i dont get ur whole comparison there

User avatar
h3rmit
Armored Tree
Posts: 57
Joined: Sat Aug 27, 2016 12:15 am
Has thanked: 4 times
Been thanked: 53 times

Re: Lag screen and reconnection, revisited

Postby h3rmit » Fri Jul 11, 2025 7:15 pm

Frank wrote:Every split second can matter in dota more so than in ladder were split second decisions are more forgiving so i dont get ur whole comparison there


I mentioned them cause Warcraft III was designed around ladder games, the big bulk of which were 1v1. It wouldn't make any sense to let someone keep playing a game when their one and only opponent is lagging. Even in the much fewer 2v2 ladder games it made little sense to continue 2v1. Had Warcraft III been designed around 5v5 games instead, they might have chosen a design more similar to Dota2.

Frank wrote:Well Dota2 has a behavior score system and usually people with good behavior scores are matched with other similar players ontop of the mmr system so in those games players usually pause for each other, within a reasonable time limit ofc. The lower behavior scored games are not so forgiving towards pausing for a d/c.

People aren't keen on pausing here, but your change would have more detrimental game outcome effects.


Then how about creating a !pause and !resume command (!p and !r in short) that would give every player the option to pause the game for up to 60 seconds, that nobody else will be able to unpause, with a limited use of once per game? This command could also feature a 5-10 second countdown before pausing/resuming.

To prevent abuse, it could be a revokable right given only to accounts over a certain amount of games, or its use could be limited to when someone lags/disconnects.

Alternatively, to handle the specific case of teamfights, the bot could keep track of each player's approximate positions, and only bring up the lag screen when the lagger is within a 1200 radius from an enemy.

These are just examples from the top of my head. There could be a lot of creative and sophisticated ways to counter the undesired effects of this change.

dumpster_
Armored Tree
Posts: 84
Joined: Sat Mar 09, 2019 9:51 pm
Has thanked: 17 times
Been thanked: 24 times

Re: Lag screen and reconnection, revisited

Postby dumpster_ » Fri Jul 11, 2025 8:07 pm

Leave it alone imo.
The proposed changes cause more problems than they solve.
The kind of unbearable lag that started this whole conversation is pretty rare in my experience.

h3rmit wrote:Alternatively, to handle the specific case of teamfights, the bot could keep track of each player's approximate positions, and only bring up the lag screen when the lagger is within a 1200 radius from an enemy.

This will not be sufficient.
There are global ults, boots of travel, other tp-like skills, bara charge, buybacks, etc.
Even if there is only one hero alive it can still be a key moment, for example if rhasta bb'd and is about to ult the throne while the enemy team is all dead but is close to reviving.
If he presses w he wins, if he lags he loses his chance.
There is no way in hell you can accurately determine if any given moment is a key moment or not.

Frank
Forest Walker
Posts: 224
Joined: Thu Sep 13, 2012 12:54 pm
Has thanked: 12 times
Been thanked: 20 times

Re: Lag screen and reconnection, revisited

Postby Frank » Fri Jul 11, 2025 11:35 pm

like dumpster said its too easily abusable and we don't have the player pool that would use this responsibly... In theory yes It would be nice in reality were a small group of individuals who mostly despise each other for better or for worse.. lol

User avatar
h3rmit
Armored Tree
Posts: 57
Joined: Sat Aug 27, 2016 12:15 am
Has thanked: 4 times
Been thanked: 53 times

Re: Lag screen and reconnection, revisited

Postby h3rmit » Sat Jul 12, 2025 12:49 am

It's not like lagging and disconnects often coincide with critical game moments or important team fights in a 40-minute game.

What we now see everyday isn't a group of pros that would calmly wait for their teammate to come back and participate in a team fight. It's actually an angry mob of people spamming the "Drop laggers" button without even reading the message that they have to wait for 80 seconds, until it fills 3 full screens of text. And the moment a literate guy chooses to start a !votekick, the screen fills with a mixture of "!yes", of people who haven't even read who they are votekicking, and the "80 seconds" message, of people who are still spamming the "Drop laggers" button. Come on, you've all seen it happen as much as I have :lol:

Lately, there hasn't been a single day that I play games without someone getting votekicked in a game. It has become the norm. I'm even getting used to it.

Forcing everyone to bear with a long lag screen doesn't seem to work in the majority of cases. In practice, most people choose to play a 4v5 game over waiting another minute stuck in a lag screen. A leaver's gold is far more tempting than keeping that lagging feeder in the team, isn't it?

By choosing to take action and implement something new about it, there's hundreds of options that open up. Even the option of switching between the new and the old system whenever we like, by any criteria we decide. It's even possible to revert back to the current system, if we don't like the new one, after seeing it in action.

On the other hand, by not implementing anything new, we're gonna be stuck forever in what we see today. If everyone thinks it's already perfect as it is, and is happy with it, then I also have better and more enjoyable things to do with my free time. But if you're not, then there's a lot of work to be done.

Don't let your judgement be clouded by the fear of the unknown and pessimistically focus on the few edge cases that might still go wrong. Try to see objectively the reality you're experiencing everyday in your game, for what it is. Do you really want things to continue forever as they are?

After all, as I mentioned in my first post, I'm going to research the feasibility of this endeavor. In the end, it may even turn out to be completely impossible to implement in 1.30.1. But nothing great has ever been made by starting off with pessimism.

I'm open to all kinds of constructive and creative suggestions you think will improve the present situation.

Frank
Forest Walker
Posts: 224
Joined: Thu Sep 13, 2012 12:54 pm
Has thanked: 12 times
Been thanked: 20 times

Re: Lag screen and reconnection, revisited

Postby Frank » Sat Jul 12, 2025 2:20 am

Personally I'm thankful for what you've done, and its not a matter of being pessimistic its being realistic. People are abusing votekick and ignore command as it is, and you want to introduce a much more powerful command into the wild... People abuse, although not often since its bannable, the already available 3 pauses u get from wc3 itself. You're asking if we want things to continue as they are? well were still in 6.83d.. think about when that patch was released, and there's your answer. Its too late in ENT's lifecycle to be trying wildly experimental things, the bug fixes are great tho!

iambackk
ENT Staff
Posts: 967
Joined: Tue Jul 05, 2016 7:47 pm
Has thanked: 43 times
Been thanked: 110 times

Re: Lag screen and reconnection, revisited

Postby iambackk » Sat Jul 12, 2025 12:53 pm

For me that's a good idea @h3rmit but it's some months i'm trying to speak with hazardous for some changes but looks like he do not want, i also asked if their is something needed to paid for forum servers or anything who could make games better but "We arent managing anything anymore
"


Return to “Defense of the Ancients”

Who is online

Users browsing this forum: No registered users and 121 guests