MWS Errors and Policies

Written by derflippi on September 03, 2008

MWS Errors and Policies

by CMA-Flippi

Hello, and welcome to another article about magic-league's policies and guidelines, dealing with the disconnections and errors of Magic Workstation (MWS).
In April, I wrote an article explaining several perfidies of MWS while focusing on the ways to avoid the common Access Violation errors.
In this article, I will write less about the causes of errors in general. This time I will emphasize explanations on why our policies are the way I illustrated them in my first article. I have split my article into five parts:
1. Handling MWS errors in the past
2. Process of learning & discussion – development of solutions
3. Desired consequences of „Myths about MWS errors...“
4. Undesired consequences, discussion of the possible solutions
5. Summary
1. How errors were solved in the past
Policies from the distant past used to say something like: "Whoever has the error message loses the game." From today's perspective, these rulings look horrible. Having an error in MWS basically meant "Flip a coin; if you lose, you get a game loss."
2. Process of learning & discussion – development of solutions
The players were displeased by this ruling, so there had to be some changes. The phenomenon of disconnections occurred more frequently when magic-league staff decided to make MWS the number one playing application. Luckily, with more rulings the judges had to deal with, the information and experience gained about the errors increased. After discussing how to solve the problems with MWS, judges could rule more appropriately.

I've explained the major errors in my previous article; the most common is probably the access violation, occurring when arrow- or control-change-misuse happens. For detailed information about these known errors, look at my first MWS article at:,_programming_errors_and_how_to_avoid_them.html.
3. Desired consequences of "Myths about MWS errors ..and how to avoid them"
With the insight of my recent article, many players learned to use MWS better, have learned to avoid errors. Most players now stop taking control over their opponents' cards and are more careful with arrow situations.
As a result, fewer rulings with known errors occur. If there's still one, the player at fault become more likely to understand the ruling, why they receive a penalty and how they can prevent such a penalty in the future. However, as players know the ruling about the still unknown errors, the number of unknown errors in #judges4you has increased, which leads me to the next part of my article.
4. Undesired consequences, the discussion about solutions
There are still many disconnections which are solved by having the players replay their game. In most cases, at least one player complains about how unfair such a ruling would be, seeing he is, in his opinion, clearly on the winning position. In the end, it was often suggested that whoever was in winning position would have to get the win in case of an unknown disconnection. This solution is bad because it'd make the outcome of a game up to the judge's decision (whoever he thinks is in a favourable position would win).
But we want matches to be decided by players. Possible game-losses as part of disconnection rulings are the result of the players actions. Compare it to a game-loss for Unsportsmanlike Conduct – Major or similar. The players have control over what they do, we punish when they commit infractions. We don't punish if a player had no control over an error. In case he or she isn't responsible for the disconnection, he/she should not be punished for some MWS glitch.
That's the reason why we rule to replay after unknown disconnections
In future, I advise everyone to keep MWS open, to be able to provide proof of the error/Player lost message and to come to #judges4you immediately, before attempting a reconnection.
Before trying to reconnect, it should be clear how the disconnection was caused, and in case figuring that out is not possible, the judges should be able to verify that no player intentionally caused the MWS disconnection. This can be done by requesting screenshots or logs of the players. After having all information needed, the judge can make the correct decision. In the process of making that decision, nothing changed, there is still the same list of actions you shouldn't do when using MWS (arrows, control-change etc.). Only after the decision has been made, the players should try a reconnection. I'd like to mention that this is not more than an advice (yet). Nobody is forced to do that as sometimes, reconnecting solves the problem alone (and makes the judges' job easier). Even with access violations, clicking on the messages can sometimes make them disappear and make the judge call unneeded (by holding the Enter-key for example)
5. Summary

The judge department was able to develop the policies for handling MWS errors a lot already. This is possible because of experience, mistakes already made, and (polite) discussion. Thanks to the article "Myths about MWS," most players know how to use MWS better than before. This shows it is a good and, aside from the few flaws, a stable program. Unfortunately, there are still several unknown “bugs” in MWS waiting for an acceptable solution. In my next article to be released in probably 3-4 months, I hope we have found a good solution for the still unknown errors.

Back to Magic: the Gathering Articles

by Esibnitsud on 2008-09-03 03:48 CET


by NahHolmes on 2008-09-03 05:39 CET

Let this be a warning to any programmers out there also (possibly ones working on new Magic clients) to put exception handling in your code and test it. Most likely 90% of these problems could/should have been found and fixed in a day.

by on 2008-09-03 08:43 CET

NahHolmes, while you are right, it's not always just a matter of placing try...catch... statements around 'tricky' statements (like converting a string containing a number to it's integer value). A programmer should be able to prove why a given statement wont cause an exception. Of course, when making an application like mws, with server / client communication, you also need to deal with timing issues. This is where the lock () statement comes into play, simpy because try.. catch.. exception handling wont suffice.

by NahHolmes on 2008-09-03 09:34 CET

Well it seems like most of the relevant errors could simply be handled by exceptions on the client to not attempt the action that is causing the error when it is invalid (example trying to draw an arrow to an object that no longer exists or modify an object that no longer exists). I don't know how exactly they implemented it though (even though I have a couple possible ideas what is causing the errors but I could easily be wrong).

by Az-cz on 2008-09-03 10:24 CET

Any hope of something replacing MWS?

by warwizard87 on 2008-09-03 12:57 CET

opt eventualy

by OITDamion on 2008-09-03 13:07 CET

Thanks flippi for your so well written articles

by ReeceP on 2008-09-03 13:23 CET

I kind of think that this was brought on by an incident in one of my matches, mainly because when I went to #judges4you to ask, I specifically asked for a policy (if there was one). Asking for policies? Spot the government worker.

Heh, that's kind of cool. And many thinks for posting this, Flippi.

by Sebas_ on 2008-09-04 06:12 CET

by Az-cz on 2008-09-03 05:24 CDT

Any hope of something replacing MWS?

well we should start to use opt in some minis its better and works better than mws

nice article

p.d. d4rk3s is an idiot

by on 2008-09-04 08:49 CET

Dont flame s3bas.
It's good to hear you like OPT, but "we" can't force people to like it as much ;)
OPT is not ready for minis, not until the 1.0 is done.

by nopenopenope on 2008-09-04 17:07 CET

NahHolmes, Jorbes is right. I'm studying Server/Client application at the moment and it's more complicated then you think.

by Mukke on 2008-09-07 14:58 CET

well.. try catch in this case is completely malplaced. At best that would give you a more pretty error message.

The errors in MWS seem mostly to do with bad/missing locking as mentioned by Jorbes.

But nice to see some policy on this.

All content on this page may not be reproduced without written consent of Magic-League Directors.
Magic the Gathering is TM and copyright Wizards of the Coast, Inc, a subsidiary of Hasbro, Inc. All rights reserved.

Contact Us | Privacy Policy
Join Swagbucks!