Myths about MWS, Programming Errors and How to Avoid Them

Written by derflippi on April 21, 2008





Myths about MWS, Programming Errors and How to Avoid Them

by CMA-Flippi

Magic Workstation (MWS) is a playing application which can be seen as a mixture of Apprentice and Magic Online. It has a higher functionality than Apprentice due to having pictures and arrows implemented, which can speed up gameplay and can make communication easier for both players. In comparison to Magic Online, it works like Apprentice because it doesn't have the game rules implemented. Having many possibilities to visualize your actions, it's clearly better than Apprentice, which is one reason why it has been chosen to be magic-league's number one program.

As I've said, you have a high functionality. Unfortunately, the programming of MWS was never finished, so there are a few programming errors left. Most of these errors cause an irreparable change of the game state; the game state gets lost. Being a judge on here for quite some time now, I've tried to solve a lot of disconnections. It turned out that there are several actions that directly cause the errors; most of these are so-called Access Violations. One side of the connection tries to modify an object (like a creature) or deal with the object in another way (like drop an arrow on it). In the same moment, the other player, who usually is the controller of that object, changes the location (or an accident-sensitive state) of the same object. Objects can be permanents, libraries, cards in hand, etc each with different liabilities to errors.

When a game crashes, both players should try to reconnect. Reconnecting works via Options -> Reconnect in your game window. A successful recovery of the temporarily lost connection is the best solution. If a reconnection works, nobody will receive a penalty and you will be able to continue the game as though nothing happened.  It's important that the same side that has hosted the original game opens the game again in case you're playing on a server, else, sides will be switched; you will get your opponents cards, not your own, and the reconnection ends unsuccessfully. Another common mistake is one side trying to create a new game via File -> New Game. The result is a completely lost game, the reconnection is unsuccessful.

If a disconnection without reconnection occurs, there are two options for the judge to decide.  Maybe the error was caused by an illegal or improbable action, an unexpected action, one of the previously mentioned modifications of objects. In this case, the user causing the error could've avoided the mistake (and should, next time!). He made an action that directly caused the error, so it's his fault; he is responsible for the lost game state, and he receives a game loss penalty for the mistake. The other option needs to be chosen when you can't determine what caused the error or can't blame any side for committing an illegal action. In this situation, the judge should rule to replay the game (restart the game from the beginning) with some time extension.  A side note: The game state (as always, there are exceptions like lethal damage on the stack) doesn't matter for rulings about disconnection issues. The reason is simple: A game isn't over until one player has won. A situation might seem obvious but never is. A player could draw a Balance or Wrath of God to completely change the situation, or a player could draw an Abolish to evade a Stasis lock. I think these few examples explain why the game state is not taken into consideration for disconnection rulings.

So what actions will cause MWS to disconnect or "crash" and what should I do or avoid doing? A good thumb rule is to never touch your opponent's cards; however, that 'rule' is in conflict with MWS' functionality. Not using arrows will require a lot more verbal communication, might cause confusion and this way, will unnecessarily delay the game. Not touching your opponent's cards includes to not add damage counters on your opponent's objects. When a creature suffers lethal damage, he will put it into his graveyard. If he makes a mistake and doesn't see it should be destroyed, tell him. Using the text chat window hasn't caused any disconnections so far. Similar to damage counters is editing your opponent's objects power and toughness or notes. Let it be, since your opponent could, at the same moment move his card to graveyard, or also modify the questioned object. While the same in theory, but in for all practical purposes different, is taking / passing control over objects. By any effect, you should gain control over an object which is currently not in your side of the game table, it's best to wait for your opponent to pass control over his card rather than make haste and grab control over it. Your opponent usually has priority anyways thus can respond to your control effect. Perfect use is to patiently wait for your opponent to pass control. If he hesitates, tell him your needs in the chat window. Probably the most common error occurs when one side is using arrows, but the other sacrifices/destroys that specific object at the same time. In this case, as with taking control, the players are asked the patiently wait until the opponent has drawn the arrow.  The last relatively common known error is as follows: One player (A) shows his library and opens it. He now starts searching cards from it and dragging those to another zone. The other player (B) closes the library in the meantime, before (A) finishes his search (he drags another card away after (B) closed library). A perfect solution for (A) is to not reveal your library until your search finished. As (B), a good solution is to keep the library open until (B) has completed the search (and closed the library).

So let me now conclude what's been said: Magic Workstation (MWS) provides a high functionality for its users. It's also stable and offers a solid connection between two users if its users know the program and don't cause the errors with their use. If a game disconnects, both players should try to reconnect. If a reconnection does not work, a judge will have to decide (he will investigate the matter before) to let players replay the game or he has to give a game loss. Also there are a few actions you should avoid. If you don't you might cause a disconnection and will suffer a game loss from it!

I hope I could convince you that Magic Workstation is a good program and give you some useful information about its bugs. I will now append some situations that might come up and how I'd solve them.

If you have any question concerning such disconnection rulings, simply message me in irc.

------------------------------------------------------------------------------------------
Scenario 1
Nikita plays a Stone Rain. He intends to destroy Boris' Island, not any of the 12 Forests Boris controls. It is an obvious choice, so Boris drags his land directly to his graveyard. Unfortunately, just in that moment, Nikita wanted to draw an arrow from his Stone Rain to the Island. MWS has an error and the two are not able to reconnect.

Whose fault was it?
Boris'. When there is a spell with a target (or other spell requiring to "chose" something), the other player has to wait until the arrow is drawn (or the target was made clear else, in chat for example). Since Boris didn't wait in this scenario, he will receive a game loss because he is responsible for the error. This is also true if Boris waited for twenty seconds before moving the Island to his graveyard. He could've asked his opponent to target or name the target.
------------------------------------------------------------------------------------------
Scenario 2
Wladimir plays a Sundering Titan. His opponent has a Forest and 2 Tropical Island in play, Wladimir controls no lands. He intends to destroy both of Boris' Tropical Islands, a common choice, so Boris drags his lands directly to his graveyard. Unfortunately, just in that moment, Wladimir wanted to drawn arrows from his Sundering Titan to the Tropical Islands. MWS has an error and the two are not able to reconnect.

Whose fault was it?
Since Boris didn't wait patiently for Wladimir to arrow, he caused the game state to be lost. It's his fault, he receives a game loss.
------------------------------------------------------------------------------------------
Scenario 3
Wjatscheslaw has a Mountain Goat in play. His opponent Drew plays an Enslave, draws an arrow and then wants to take that Mountain Goat under his control. Unfortunately, just in the same moment, Wjatscheslaw also takes that action. He attempts to pass the control over his Mountain Goat to Drew. When the two simultaneously try to change control of the Mountain Goat, the game crashes. MWS has errors and the two are not able to reconnect.

Whose fault was it?
Drew's. While both would have the right to take/give control intuitionally, Drew has to wait. Wjatscheslaw can respond anyways or if not, indicate the resolution of the Enslave with his action (by passing control). Drew may not indicate the resolution by taking it for the reason listed. He is not the last one to pass priority in this case.
---------------------------------------------
Scenario 4
Dmitry plays Head Games, tells his opponent George to put 6 lands in the hand. While George has his library open, he starts dragging lands into play; after the 5th land, Dmitry closes the view-window. Now George tries to drag the 6th land, but the game crashes.

Whose fault was it?
Dmitry's fault. He has control over closing the window. He shouldn't close while his opponent is dragging.

Back to Magic: the Gathering Articles

Comments:
by Mirror_Image on 2008-04-21 20:00 CET

Boris should be banned from ML... 2 faults of 4 scenarios should not be a good thing =/


by derflippi on 2008-04-21 20:03 CET

Just took random names of russian leaders ;) and changed one cause of the Mountain Goat.


by KeySam on 2008-04-21 20:53 CET

Nice Article i think you should link to this article in the how to start section, so new players avoid those mistakes.


by Vecc on 2008-04-21 21:25 CET

I've always wondered about why those Access Violations happened.. nice article, hope it'll keep matches easier to flow.


by Lynolf on 2008-04-21 22:29 CET

Just to clear some things...

If MWS crashes, the hoster (the one which waits for his opponent to appear) is the one that should host again?

And if my opponent has no response for 20 seconds he receives a game loss?


by Shagster on 2008-04-21 22:36 CET

wtf did Boris ever do to you? why you gotta be hatin? "don't hate the playa, hate the game!"


by derflippi on 2008-04-21 22:48 CET

correct Lynolf to 1) hosting,
wrong, 5 minutes is the time to suffer Tardiness Gameloss.

I have these examples from a longer list of MWS bugs thats in an judge-intern part of magic-league. When creating that list, I needed names, thus took the list of russian leaders from beginning of sovjet russia till today. Wjatscheslaw, Boris, Nikita, Dmitry etc..


by NahHolmes on 2008-04-21 22:57 CET

I've been beating this drum for a while and I'm glad there is finally an official position on this.


by optcn on 2008-04-21 23:03 CET

as you said flippi, MWS was never finished. i was actually wondering who started this project, and why was it never finished? its version 0.94 now so it shouldnt be so much more work to get the errors out of it compared to all the work already put into it.


by Zerotlr on 2008-04-22 00:50 CET

Nice work Flippi, there are still some players that always take control of permanents, hope this help preventing crashes.

Also, another advice, after a reconection, talk with your opponent and check if both sides see the same game state, if don't go to > action > synchronize.


by Boba383 on 2008-04-22 00:51 CET

haha so there would b no point in paying the subscription fee for MWS then?? if its not gona b finished i c no point in payin sumbody for it...


by Eldariel on 2008-04-22 00:57 CET

A great article, just few additions I feel may be helpful:
-The higher the latency between the two players, the more likely errors are. Errors are caused when MWS tries to process an action that's impossible for one player - ergo, when other player removed the object before the computer of the player trying to accomplish the action got to do it, and in the event of lag, there's a longer time between your computer registering what your opponent is doing and thus a longer period when a permanent can leave play without your action having been registered, resulting in an illegal event and crash.

So if there's high latency between you and your opponent (it should be readily apparent from their response times and similar things), play more carefully than normal, and avoid arrows et al. even more constantly than in normal games.

-Sometimes the game crashes between games when both players try to initiate the game at exactly the same time. Since it's between the games, it's nothing to worry about - just close the window and connect again, and proceed to initiate the new game as if it were G2 or G3 or whatever you were starting anyways. I'm just telling this to inform you why the crash might occur; it's nothing you did, it's just unfortunate timing. And again, the more latency, the higher likelihood of this particular issue.


by snoopster on 2008-04-22 01:41 CET

i have a cat named boris


by SBW on 2008-04-22 03:25 CET

If you were using Mountain Goat you should've had Goatnapper take control of it, but that's just being picky.

I'll pass this along to someone else (not on m-l) who bugs out a lot though.


by Dapug on 2008-04-22 04:01 CET

"One player (A) shows his library and opens it. He now starts searching cards from it and dragging those to another zone. The other player (B) closes the library in the meantime, before (A) finishes his search (he drags another card away after (B) closed library). A perfect solution for (A) is to not reveal your library until your search finished. As (B), a good solution is to keep the library open until (B) has completed the search (and closed the library)."

The first solution seems bad, (B) isn't obligated to find the cards when he searches.


by Martas on 2008-04-22 09:42 CET

Does it mean that using arrows will be mandatory now in tournaments? If you play with guy who doesn't use arrows too much and he casts terror with only one legal target (let's say goyf), should you still wait for the arrow or would you sacrifice goyf and risk potential game loss? How about if you ask that guy "are you targeting goyf?", he answers "of course dude" and then he remembers he should use arrow? Whose fault would be access violation caused by me sacrificing goyf and him trying to make the arrow?


by Holzi on 2008-04-22 11:30 CET

very nice, this was very important, because most of the people dont know how to avoid errors

the best thing is dont make any arrows if not necessary, you can also just write it in the text box


by Jacois on 2008-04-22 12:36 CET

Thx Flippi, yet another showing and solidification of why you are most defineately "the man".


by Ro on 2008-04-23 07:06 CET

by snoopster on 2008-04-21 19:41 MDT
i have a cat named boris

aaaaaaaaaaaaahahahhahahahahahhahaa


by pG on 2008-04-25 05:53 CET

REMOVED


by gumonshoe on 2008-04-27 22:21 CET

my mws whenever i try to load the base it tells me ERROR! Insufficent memmory for this action and ive tried to delete and redownload and i have plenty o ram and harddrive space can you mabee tell me wats going on?


by Teknolink on 2008-04-28 21:00 CET

Vista,


by worlockk on 2008-04-30 12:11 CET

hi,i was wondering where can i get the lands...?
and the deck format doeasnt work...:s


by on 2008-05-02 16:25 CET

Excellent Article CMA-Flippi, thank you.
I will be linking to this.

Huggybaby


by Dragonmast3r on 2008-05-19 16:14 CET

Excellent Work cma-flippi. Now i know why MWS sometimes crashes and sometimes not.


by shadowmancer on 2008-09-06 16:36 CET

Does it mean that using arrows will be mandatory now in tournaments? If you play with guy who doesn't use arrows too much and he casts terror with only one legal target (let's say goyf), should you still wait for the arrow or would you sacrifice goyf and risk potential game loss? How about if you ask that guy "are you targeting goyf?", he answers "of course dude" and then he remembers he should use arrow? Whose fault would be access violation caused by me sacrificing goyf and him trying to make the arrow?

If i could answer this question(i am not a judge)when you ask this guy and he arrows, you should win cuz he already answered.

"vista" XD


by SwordSkill on 2010-11-24 12:33 CET

@shadowmancer: I think if judges find suspicious evidence about a player, then that player will be accused of Cheating - Fraud...


by SwordSkill on 2011-05-02 01:16 CET

Or not... (Answering after so much time lol.)


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!