Показать сообщение отдельно
Непрочитано 23.04.2015, 10:42   #1
Пользователь

Автор темы (Топик Стартер) Проблема авторизации после дисконекта Lucera 1.7

Source: Lucera 1.7

Здравствуйте, если кто в курсе, подскажите / натолкните на мысль, куда копать.
Суть проблемы: если чара выкидывает с игрового сервера, он не может зайти определенное время. Логин сервер пишет: Аккаунт уже кем-то используется и на этом процесс замирает. Минут через 10-30 пускает.
Так понимаю за сообщение что аккаунт уже используется отвечают эти два кейса:

 
           case ALREADY_ON_LS:
                L2LoginClient oldClient;
                if ((oldClient = lc.getAuthedClient(_user)) != null)
                {
 
					// kick the other client
		oldClient.close(LoginFailReason.REASON_ACCOUNT_IN_USE);
					lc.removeAuthedLoginClient(_user);
                }
                // kick also current client
                client.close(LoginFailReason.REASON_ACCOUNT_IN_USE);
                break;
 
            case ALREADY_ON_GS:
                GameServerInfo gsi;
                if ((gsi = lc.getAccountOnGameServer(_user)) != null)
                {
					client.close(LoginFailReason.REASON_ACCOUNT_IN_USE);
 
					// kick from there
					if (gsi.isAuthed())
					gsi.getGameServerThread().kickPlayer(_user);
                }
				break;
 
Code: Java
Метод GameServerThread: kickPlayer
	public void kickPlayer(String account)
	{
		KickPlayer kp = new KickPlayer(account);
		sendPacket(kp);
	}
 
Code: Java
То есть по идее, игрока должна было викинуть с сервера. Но я так понимаю, что логин сервер в себе его еще как-то, где-то хранит. Или возможно его не полностью с сервера кикает. Если перезагрузить логин сервер, вновь пускает без проблем, тех кого не пускало. Подозрение больше на логин сервер чем на гейм.

Добавлено через 9 часов 53 минуты
Проблему решил.
НЕ актуально.
Спасибо.

Последний раз редактировалось IOns; 23.04.2015 в 20:36. Причина: Добавлено сообщение
IOns вне форума Ответить с цитированием