public void QueuePacket(SubPacket subpacket) { bool isAuthed = true; bool isEncrypted = false; subpacket.SetTargetId(owner.sessionId); SendPacketQueue.Add(BasePacket.CreatePacket(subpacket, isAuthed, isEncrypted)); }
private void ProcessSessionAcknowledgement(ClientConnection client, SubPacket packet) { packet.DebugPrintSubPacket(); SessionPacket sessionPacket = new SessionPacket(packet.data); String clientVersion = sessionPacket.version; Program.Log.Info("Got acknowledgment for secure session."); Program.Log.Info("CLIENT VERSION: {0}", clientVersion); uint userId = Database.GetUserIdFromSession(sessionPacket.session); client.currentUserId = userId; client.currentSessionToken = sessionPacket.session;; if (userId == 0) { ErrorPacket errorPacket = new ErrorPacket(sessionPacket.sequence, 0, 0, 13001, "Your session has expired, please login again."); SubPacket subpacket = errorPacket.BuildPacket(); subpacket.SetTargetId(0xe0006868); BasePacket errorBasePacket = BasePacket.CreatePacket(subpacket, true, false); BasePacket.EncryptPacket(client.blowfish, errorBasePacket); client.QueuePacket(errorBasePacket); Program.Log.Info("Invalid session, kicking..."); return; } Program.Log.Info("USER ID: {0}", userId); List <Account> accountList = new List <Account>(); Account defaultAccount = new Account(); defaultAccount.id = 1; defaultAccount.name = "FINAL FANTASY XIV"; accountList.Add(defaultAccount); AccountListPacket listPacket = new AccountListPacket(1, accountList); BasePacket basePacket = BasePacket.CreatePacket(listPacket.BuildPackets(), true, false); BasePacket.EncryptPacket(client.blowfish, basePacket); client.QueuePacket(basePacket); }
public void QueuePacket(SubPacket subPacket) { subPacket.SetTargetId(id); Server.GetWorldConnection().QueuePacket(subPacket); }