public override byte[] Serialize(Pointer p)
        {
            base.Serialize(p);
            BitPacker.AddSerializableWispObject(ref m_SerializeBuffer, p, Profile);
            BitPacker.AddString(ref m_SerializeBuffer, p, TargetResource.ToString());
            BitPacker.AddString(ref m_SerializeBuffer, p, Player.ToString());
            BitPacker.AddString(ref m_SerializeBuffer, p, AuthTicket.ToString());
            BitPacker.AddString(ref m_SerializeBuffer, p, AccountName);

            return(m_SerializeBuffer);
        }
Example #2
0
 public override byte[] Serialize(Pointer p)
 {
     base.Serialize(p);
     BitPacker.AddString(ref m_SerializeBuffer, p, AuthTicket.ToString());
     BitPacker.AddString(ref m_SerializeBuffer, p, ServerName);
     BitPacker.AddString(ref m_SerializeBuffer, p, ServerIP);
     BitPacker.AddInt(ref m_SerializeBuffer, p, ServerPort);
     BitPacker.AddString(ref m_SerializeBuffer, p, TargetResource.ToString());
     BitPacker.AddBool(ref m_SerializeBuffer, p, IsAssistedTransfer);
     return(m_SerializeBuffer);
 }
Example #3
0
        /// <summary>
        /// Returns the auth ticket for the character, which includes the server they were last seen on.
        /// </summary>
        /// <param name="toonID"></param>
        /// <returns></returns>
        public static AuthTicket GetAuthorizationTicketForAccount(Guid accountID)
        {
            AuthTicket at             = new AuthTicket();
            Guid       ticket         = Guid.Empty;
            string     authServer     = "";
            DateTime   whenAuthd      = DateTime.MinValue;
            string     targetServerID = "";
            int        toonID         = -1;
            string     account        = "";

            if (!DB.Instance.User_GetAuthorizationTicketForAccount(out account, out authServer, out ticket, out whenAuthd, out toonID, out targetServerID, accountID) || ticket == Guid.Empty)
            {
                return(null);
            }

            at.AccountName       = account;
            at.AccountID         = accountID;
            at.AuthorizedOn      = whenAuthd;
            at.AuthorizingServer = authServer;
            at.TargetServer      = targetServerID;
            at.CharacterID       = toonID;

            return(at);
        }
Example #4
0
        /// <summary>
        /// Returns the auth ticket for the character, which includes the server they were last seen on.
        /// </summary>
        /// <param name="toonID"></param>
        /// <returns></returns>
        public static AuthTicket GetAuthorizationTicketForCharacter(int toonID)
        {
            AuthTicket at = new AuthTicket();
            Guid ticket = Guid.Empty;
            string authServer = "";
            DateTime whenAuthd = DateTime.MinValue;
            string account = "";
            string targetServerID = "";
            Guid accountID = Guid.Empty;
            if (!DB.Instance.User_GetAuthorizationTicketForCharacter(out account, out authServer, out ticket, out whenAuthd, toonID, out targetServerID, out accountID) || ticket == Guid.Empty)
            {
                return null;
            }

            at.AccountName = account;
            at.AccountID = accountID;
            at.AuthorizedOn = whenAuthd;
            at.AuthorizingServer = authServer;
            at.TargetServer = targetServerID;
            at.CharacterID = toonID;

            return at;
        }
Example #5
0
        public void RelayPacketToRemoteUser(AuthTicket target, Packet msg, ServerUser from)
        {
            // Sure it's not local?
            INetworkConnection local = ConnectionManager.GetUserConnection(target.AccountID);
            if (local != null)
            {
                local.Send(msg);
                return;
            }

            // Forward to server
            INetworkConnection remote = GetServerConnection(target.TargetServer);
            if (remote == null)
            {
                // sorry it didn't work out.
                return;
            }

            RelayPacketToRemoteUser(target, msg, from, remote);
        }
Example #6
0
 private void RelayPacketToRemoteUser(AuthTicket target, Packet msg, ServerUser from, INetworkConnection con)
 {
     PacketRelay relay = MakeRelayPacket(target.TargetServer, target.AccountID, from, msg);
     con.Send(relay);
 }