public void NotifyInDisConnectClient(ServerPacketData requestData) { var user = UserMgr.GetUserByNetSessionID(requestData.SessionID); if (user != null) { var lobbyNum = user.RoomNumber; if (lobbyNum != PacketDef.INVALID_LOBBY_NUMBER) { var packet = new PKTInternalNtfRoomLeave() { RoomNumber = lobbyNum, UserID = user.ID, }; var packetBodyData = packet.Encode(); var internalPacket = new ServerPacketData(); internalPacket.Assign(requestData.SessionID, (UInt16)SYS_PACKET_ID.NTF_IN_ROOM_LEAVE, packetBodyData); ServerNetwork.Distribute(internalPacket); } UserMgr.RemoveUser(requestData.SessionID); } GameServer.MainLogger.Debug($"Current Connected Session Count: {ServerNetwork.SessionCount}"); }
public void NotifyLeaveInternal(ServerPacketData packetData) { GameServer.MainLogger.Debug($"NotifyLeaveInternal. SessionID: {packetData.SessionID}"); var ntfData = new PKTInternalNtfRoomLeave(); ntfData.Decode(packetData.BodyData); LeaveRoomUser(packetData.SessionID, ntfData.RoomNumber); }