The chances of a router going down in the middle of your game are slim.
You're kidding, right? Happens all the time. Just look at my game abandonment rate. Each and every last game abandonment has been caused by someone getting disconnected from the server while still being on the Internet. We're usually yelling at them in IRC at the same time this happens.
Besides, if the person simply blocked incoming packets from the other players IP, that doesn't necessarily mean their game client cannot send more packets to the other player.
That would represent a very inept form of blocking, then. Normally, a firewall block is a total blackout: Nothing in, nothing out. Even if someone is inept enough to only block incoming, this selective failure is invisible to the application: An inbound-only block functions the same as a full block above the protocol level, because if you cannot transmit packets to the server, but the server cannot transmit packets to you, the server will never receive TCP-ACK from anything that you received, and therefore, will assume you did not receive it, retransmit it, continue to fail to receive ACK, and then decide the connection has dropped eventually. Such a block will still result in total communication failure within a single TCP transmission window. In any event, the application is not able to see any of this, as applications interact with the TCP/IP protocol at a level of abstraction that precludes peering into the inner workings of exactly what is going on with each individual packet. Even then, unidirectional packetloss is occasionally a naturally occurring phenomenon, if the routing is not symmetric (which is very common), and one leg of the route becomes obstructed by congestion or failure. Even with UDP, detecting it is very difficult and requires network programming skills that are above that which the programmers of PlanetMule possess!
They just aren't letting that player respond. In that case, the other players client can, and with a great deal of accuracy, assume that the other player has forcefully disconnected them.
Nope. In fact, with such a cutout, even the server program is not aware that the operator has intentionally disconnected them. The server will see the client failing to respond to any of its signals and assume the client has lagged out, while the client sees the server failing to respond as well, and assumes the server has lagged out. Both computers therefore perceive the event as a network failure, and it is only human paranoia which allows us to understand that something deliberate MAY have just occurred, without any possible means of proving it short of access to system logs that prove guilt.
Trust me on this: This isn't a gaming thing. At this point, you're dealing in network engineering and hacking, and I know this field. It is like the game abandonment thing: PlanetMule's servers have absolutely no way of knowing whether a game was abandoned because the player got disconnected because of lag, the program crashed, or he really did ragequit. All it can do is record the game as abandoned, and it's up to us to try to decide what that really means in the context of the player's general record. The computer cannot accurately make this judgement, and when we do it, we're essentially guessing, as there's no real hard evidence.