Do not kick the player from the server on game admin timeout - just remove the player from the game.
This commit is contained in:
@@ -97,6 +97,7 @@ using namespace std;
|
||||
#define NET_REMOVED_GAME_FULL 0x0001
|
||||
#define NET_REMOVED_GAME_ALREADY_RUNNING 0x0002
|
||||
#define NET_REMOVED_KICKED 0x0003
|
||||
#define NET_REMOVED_TIMEOUT 0x0004
|
||||
#define NET_REMOVED_OTHER_REASON 0xFFFF
|
||||
|
||||
// Reasons for timeout warning
|
||||
@@ -4268,6 +4269,9 @@ NetPacketRemovedFromGame::SetData(const NetPacketRemovedFromGame::Data &inData)
|
||||
case NTF_NET_REMOVED_KICKED :
|
||||
tmpData->removeReason = htons(NET_REMOVED_KICKED);
|
||||
break;
|
||||
case NTF_NET_REMOVED_TIMEOUT :
|
||||
tmpData->removeReason = htons(NET_REMOVED_TIMEOUT);
|
||||
break;
|
||||
default :
|
||||
tmpData->removeReason = htons(NET_REMOVED_OTHER_REASON);
|
||||
break;
|
||||
@@ -4297,6 +4301,9 @@ NetPacketRemovedFromGame::GetData(NetPacketRemovedFromGame::Data &outData) const
|
||||
case NET_REMOVED_KICKED :
|
||||
outData.removeReason = NTF_NET_REMOVED_KICKED;
|
||||
break;
|
||||
case NET_REMOVED_TIMEOUT :
|
||||
outData.removeReason = NTF_NET_REMOVED_TIMEOUT;
|
||||
break;
|
||||
default :
|
||||
outData.removeReason = NTF_NET_INTERNAL;
|
||||
break;
|
||||
|
||||
@@ -340,7 +340,7 @@ ServerGameStateInit::Process(ServerGameThread &server)
|
||||
SessionWrapper session = server.GetSessionManager().GetSessionByUniquePlayerId(server.GetAdminPlayerId());
|
||||
if (session.sessionData.get())
|
||||
{
|
||||
server.RemovePlayer(session.playerData->GetUniqueId(), ERR_NET_SESSION_TIMED_OUT);
|
||||
server.MoveSessionToLobby(session, NTF_NET_REMOVED_TIMEOUT);
|
||||
}
|
||||
}
|
||||
return AbstractServerGameStateReceiving::Process(server);
|
||||
|
||||
@@ -90,15 +90,16 @@
|
||||
#define NTF_NET_REMOVED_GAME_FULL 203
|
||||
#define NTF_NET_REMOVED_ALREADY_RUNNING 204
|
||||
#define NTF_NET_REMOVED_KICKED 205
|
||||
#define NTF_NET_REMOVED_TIMEOUT 206
|
||||
|
||||
// Notifications - join failed
|
||||
#define NTF_NET_JOIN_GAME_FULL 206
|
||||
#define NTF_NET_JOIN_ALREADY_RUNNING 207
|
||||
#define NTF_NET_JOIN_INVALID_PASSWORD 208
|
||||
#define NTF_NET_JOIN_GAME_FULL 210
|
||||
#define NTF_NET_JOIN_ALREADY_RUNNING 211
|
||||
#define NTF_NET_JOIN_INVALID_PASSWORD 212
|
||||
|
||||
// Notifications - version
|
||||
#define NTF_NET_NEW_RELEASE_AVAILABLE 209
|
||||
#define NTF_NET_OUTDATED_BETA 210
|
||||
#define NTF_NET_NEW_RELEASE_AVAILABLE 220
|
||||
#define NTF_NET_OUTDATED_BETA 221
|
||||
|
||||
// This is an internal message which is not reported.
|
||||
#define MSG_SOCK_INTERNAL_PENDING 0
|
||||
|
||||
Reference in New Issue
Block a user