   What to do when a player disconnects?
Multiplayer RPG. User goes into an open PvP area and... disconnects due to internet outage or whatever reason on his end. What is the best way to happen this? Currently my plan is to do nothing - the user's character will just stand there and be a sitting duck.
First you should make a really gory animation with loads of blood spurting out and gibs flying everywhere. Then once the giblets stop flying, take all their equipment, and scatter it around for others to randomly grab. Finally, give the other players an option "mutilate the corpse" which lets them leave obscene messages for the player upon his return. Disconnection should not be permitted! :) Or something.;You could kill the character after ten seconds of disconnect, I find that in those type of games, 10 seconds is the most fair for both sides. Enough time to finish the other's action ON the disconnector and then enough for the disconnector to have SOME consequence without it being too harsh.;  Context please.What are the (negative/positive) consequences of dying, or killing another player?Is the open PvP area just normal area where fighting players is allowed, or are there some kind of PvP mechanics going on there?   ;If the player has not been and is not being involved in any kind of combat during some time (let's say 10 seconds or 20 seconds) I see no reason why the player cannot just be logged off and be allowed to log in alive again later. On the other hand, if the character is involved in any kind of combat (actively or passively) during that grace period, the character should either die immediately or receive attacks as long as someone keeps hitting him or until he dies (whichever comes first), The reason for that is that it prevents many types of exploits. Hitting a boss, kiting it out of its zone and disconnecting is a well-known exploit technique in some games (screwing up the badly implemented AI so the mob won't move or fight back). Hitting and logging off may also be a very effective form of griefing in PvP. Or, a dozen other things you could come up with. If disconnecting means certain death, none of that will work.;If the player has not been and is not being involved in any kind of combat during some time (let's say 10 seconds or 20 seconds) I see no reason why the player cannot just be logged off and be allowed to log in alive again later. On the other hand, if the character is involved in any kind of combat (actively or passively) during that grace period, the character should either die immediately or receive attacks as long as someone keeps hitting him or until he dies (whichever comes first), The reason for that is that it prevents many types of exploits. Hitting a boss, kiting it out of its zone and disconnecting is a well-known exploit technique in some games (screwing up the badly implemented AI so the mob won't move or fight back). Hitting and logging off may also be a very effective form of griefing in PvP. Or, a dozen other things you could come up with. If disconnecting means certain death, none of that will work. Good suggestion. It should be easy to have a boolean variable (e.g. "combat = 0 or 1") to check whether the user is in combat. This variable turns off it no combat action has been taken by or on the user for the last 20 seconds. If combat == 1, the character will just stay there like a sitting duck until combat == 0 again.;It s better to check whether he wouldn't be in combat for 20 seconds after the disconnect else a player can just disconnect when he sees a stronger opponent approaching.(so sit there like a sitting duck for 20 seconds, just like when you would normally log off, or at least, it should be basically the same as logging off, whatever prerequisites you have for that anyway);powerneg, on 04 Feb 2013 - 05:45, said:It s better to check whether he wouldn't be in combat for 20 seconds after the disconnect else a player can just disconnect when he sees a stronger opponent approaching.(so sit there like a sitting duck for 20 seconds, just like when you would normally log off, or at least, it should be basically the same as logging off, whatever prerequisites you have for that anyway)Good point. I'll make it so that the player stays in-game for 20 or so seconds after he disconnects/log-off so he can't run at the first sight of danger and has to be careful about where he goes to log-off. Thanks.   ;Depending on the game mechanics, you might at least  (for the "stand and be beaten til you die" contingency  for disconnect) have the players avatar put into some defensive stance that make the damage take a little longer to kill them (again if you game has such a thing and its easily identified by the server entity). Also auto-logout (instead of just killing off the avatar) after some sufficiently long period (something a bit longer than relogging in time for the game).If the player is in a hazardous situation they will likely be killed before this amount of time, if not hazardous situation then the player would have a chance to resume (again depends on the game and what things can happen and how bothersome to the players game experience it will be). Ive seen some games that have a  'resume' state at the server (for the disconnected player) that can shortcut some of the login/game select/etc..  process to get the player back into their game faster.;Depends how fast the time to kill is for the game. If you kill someone in a couple hits, leaving the character logged in for 30 seconds is plenty to keep players from disconnecting when they're losing. Then after 30 seconds log them out if they're not dead. If it's too short you get people lag switching and logging out when they're losing. So they'll bounce around the screen and log out mid air behind the opponent, the opponent is spinning around looking for the person for several seconds before the opponent shows back up on their screen.