Sunday, August 9, 2015

game design - How do/should MMOs handle disconnection during PvP?


In an MMO (not even necessarily an MMORPG) what are some techniques for dealing with players disconnecting in the middle of PvP?


In particular - how do you avoid adversely affecting people who get disconnected due to network (or even real-life) issues, while not adversely affecting those people that are engaging them?


And, importantly, how do you ensure that disconnecting cannot be used as a method of cheating?



Answer



We had this problem with some online CCGs that I worked on. Best solution I've seen:


1) Players MUST connect to the server, not to each other directly, and you should NEVER pass IP addresses of opponents in the data you stream to the players. This prevents denial-of-service attacks where a player forces their opponent offline for the win.


2) Dropped connection = you lose, opponent wins. We must assume that if you dropped, it was a drop to avoid certain loss.


3) Disconnects attempt to reconnect for a period of time, so that a slight net hiccup doesn't force you to lose through no fault of your own. Ideally, the time is long enough to allow someone to reconnect if they accidentally kicked the cable, but short enough that the opponent doesn't get frustrated and fall asleep while waiting. I think we found about 45 to 60 seconds felt right.


4) Allow players to report their opponents. This is a necessary catch-all to prevent anyone finding some annoying way around your policy. Like, maybe being so verbally abusive that the opponent drops just to get out of there, or continually disconnecting and reconnecting to stretch the game length, or stonewalling to avoid a loss, or whatever. You can't stop ALL bad behavior, but you can include an in-game mechanism to report it, and then let your customer support department handle the rest.



No comments:

Post a Comment

Simple past, Present perfect Past perfect

Can you tell me which form of the following sentences is the correct one please? Imagine two friends discussing the gym... I was in a good s...