예제 #1
0
        public void CreatePacket(UInt64 TransactionID, UInt32 Result, redBuffer Data, SteamClient Client)
        {
            _TransactionID = TransactionID;
            _XUID          = Client.XUID;
            _Username      = SteamCrypto.fnv1_hash(Client.Username);
            _Type          = Result;
            _Seed          = (UInt32)(new Random((Int32)DateTime.Now.Ticks).Next());
            _IP            = (UInt32)Client.GetIP().Address; // We will only use ipv4 so we ignore that it's deprecated.

            _Data = new Byte[Data.Length()];
            Array.Copy(Data.GetBuffer(), _Data, Data.Length());
        }
예제 #2
0
        public static UInt32 FindClient(Byte[] Username)
        {
            try
            {
                var Query = (from Client in Clients
                             where (SteamCrypto.fnv1_hash(Client.Value.Username) == SteamCrypto.fnv1_hash(Username))
                             select Client.Key).ToList();

                if (Query.Count >= 1)
                {
                    return(Query[0]);
                }
            }
            catch (Exception e)
            {
            }
            return(0xFFFFFFFF);
        }