internal static void AddReconnectingAccount(ReConnectionAccount reConnectionAccount) { lock (reconnectingAccounts) { if (!reconnectingAccounts.ContainsKey(reConnectionAccount.Account.Id)) { reconnectingAccounts.Add(reConnectionAccount.Account.Id, reConnectionAccount); } } }
internal static void AuthReconnectingAccount(int accountId, int loginOk, int rekey, AionConnection client) { ReConnectionAccount value = null; if (reconnectingAccounts.TryGetValue(accountId, out value) && value.ReKey == rekey) { reconnectingAccounts.Remove(accountId); client.Account = value.Account; accountOnLS.Add(value.Account.Id, client); client.State = State.AUTHED_LOGIN; client.SessionKey = new SessionKey(client.Account); client.SendPacket(new SM_UPDATE_SESSION(client.SessionKey)); } else { client.Disconnect(); } }