Music. Coding. Gaming. Life.

Latest Blog Post

OTL's player disconnection issue

Posted Wednesday, January 30th, 2019 11:40:00 pm
The Overload Teams League has started off fairly well. We've played 26 games in the first month, completed a small one-day tournament, and have had five teams play each other at least once. But there's one issue that's come up that's been really tough to call. There was a player disconnection issue that recently came up where a player BSOD'd and there was some confusion on what to do. I wanted to put something in writing before this happens again.

First, some background.

In Descent 3, Heat aside, all servers were private. Players could come and go as they pleased, and you could always rejoin a game after crashing out. Game parameters were also much more open. Kill goals and time goals were text entries, not selections from a menu.

Revival confusingly bucked this trend in Overload, removing server browsers and opting for monolithic servers that can run multiple games at once. However, the only way to access these games is if you have the password AND you join before the game starts. There's no way to see what games are running, and even if you had the password you can't join a game in progress.

The Descent 3 Teams League pretty much ignored any issues with disconnections. DCs could simply be met with a substitution (subs were common in D3TL matches!), or by playing shorthanded until the disconnected player returned. Only a full server crash would suspend a match (in the D3TL Tournament, this only happend once ever, but was in the semifinals!), but players would pretty much just restart from the prior score and amount of time left with little fuss.

Disconnections in the OTL cause bigger problems.

  • Players can't reconnect to a game in progress, leaving their team short-handed.
  • If you wish to suspend the match, you have limited options to select time parameters in game.
  • Because of the above, disconnections can be seen as gaming the system, depending on many factors.

In short, in Overload, we as a league have to deal with a situation that's less than ideal. We are aware of the fact that games online are not nearly as flexible as they were with Descent 3, and we have to adjust as a result.

In the OMG/PTMC Terminal match, PuDLeZ BSOD'd and disconnected with approximately 2:30 remaining in the match while his team led by 5. Teams immediately stopped playing and agreed on starting a new game from the current score and time remaining (they had suggested 5 minutes, until I stepped in and asked for 3 to more match the time remaining). The stats from both games were combined for the final match score.

From my standpoint, that was awesome. Both teams came together to finish out the match despite the circumstances. And, this is the kind of model I want to encourage... work out a solution that both teams can agree on. However, teams will have different ideas on how to do this, so I think it's good to have a set of guidelines available along with what to do should teams NOT agree on a way to go forward. Here's what I came up with:

Should a player disconnect or a game end prematurely due to a crash or network outage, every effort should be made to get the current stats from the game up to that point in the match. Teams should then agree on what to do next, within the following guidelines:

- Teams can agree to restart a Challenge if 10 minutes or more remained on the clock at the time of the issue, or if multiple issues happen within a single match.
- Teams can agree to end a game with the score as is if less than 3 minutes remained on the clock at the time of the issue.
- Teams can agree to play a 2nd game, combining the scores of both games for the final score of a single match. The second game's time limit should be as close to one of the time options available in game as possible to the amount of time remaining when the issue occurred. For instance, if there was 6:23 on the clock, teams could agree to play the 2nd game with either a 5 minute or 7 minute time limit.

In all cases where a match is suspended and resumed, the same pilots must fly for both teams, as substitutions are not normally supported in Overload games.

If teams cannot agree on what to do, an administrator can be asked to decide how to proceed, and they will make the decision. The administrator may also opt to adjudicate the match accordingly in extreme cases.

If one player is repeatedly having these kind of issues, they may be suspended from the league until their issues are resolved. If it is deemed that the player is acting maliciously, they may be banned from the league.

I don't want it to feel like I'm ignoring the momentum argument, so I'll address it here. Momentum is a very real thing, and it sucks to have it taken away by an extraordinary circumstance. However, examples of leagues or competitions that put extra time on the clock because of such an issue is exceedingly rare. In fact, more often than not, you end up LOSING time. Here are some examples of what other leagues do, where, surprisingly, many take place in the sport's biggest games of the year.


I'm sure there are plenty more examples to put forth, but overwhelmingly the concept of momentum is not given much thought in any of these cases. Either they drop the rest of the game, pick up where they left off later, or they start over. Nowhere is something arbitrary like 5 extra minutes given just to facilitate a possible comeback or to restore momentum. And I think this makes sense, especially in an environment like the OTL where we have individual stats and want them to mean something instead of having them skewed by stats where matches were far too short or too long.

In an extraordinary circumstance, you need to make a judgement call that someone somewhere is not going to like. As long as we deal with these circumstances with consistency and with good intentions, that should be all anyone can ask of the league. I also strongly like giving teams options, and them letting them agree on which option to take, only calling in help when they can't agree.

Hopefully this will address the situation, but leave it open to discussion for now over on the OTL Discord. Apologies for not thinking of this sooner... I had a lot of situations planned out, and this was definitely not one of them!

Coding


Recent GitHub Activity

Add match titles to matches page. Fixes #31.
Add KDA to #match-results. Fixes #27.
Normalize names on team page's season stats. Fixes #26.
Package upgrades.

Gaming

World of Warcraft

18190 achievement points
Earned Scraptastic!
1/26/2019

Diablo III

Seasonal Witch Doctor Sweetness
Paragon 686 - 1076210 Damage
5888 elite kills
2/18/2019

Descent Champions Ladder

Silver #0
Diamond: 0-0 Gold: 0-0 Silver: 0-0 Bronze: 0-1 Unrated: 1-0
Last game: CHILLYBUS 20, roncli 15 D1 Ascend
2/15/2019
roncli.com Media Player