Exemplo n.º 1
0
 public void Write(UruStream s)
 {
     s.WriteUInt(fTransID);
     s.WriteUInt(fAgeMcpID);
     s.WriteBytes(fAcctUuid.ToByteArray());
     s.WriteUInt(fPlayerID);
 }
Exemplo n.º 2
0
        public void Write(UruStream s)
        {
            foreach (AuthFileEntry file in fFiles) {
                s.WriteBytes(Encoding.Unicode.GetBytes(file.fName));
                s.WriteUShort(0);

                s.WriteUShort((ushort)(file.fSize >> 16));
                s.WriteUShort((ushort)(file.fSize & 0xFFFF));
                s.WriteUShort(0);
            }

            s.WriteUShort(0);
        }
Exemplo n.º 3
0
        public override bool Connect()
        {
            if (!base.Connect()) return false;

            //Send the GateConnectHeader
            UruStream s = new UruStream(new NetworkStream(fSocket, false));
            s.BufferWriter();
            fHeader.Write(s);
            s.WriteInt(20);
            s.WriteBytes(Guid.Empty.ToByteArray());
            s.FlushWriter();
            s.Close();

            //Init encryption
            if (!base.NetCliConnect(4))
                return false;

            fSocket.BeginReceive(new byte[2], 0, 2, SocketFlags.Peek, new AsyncCallback(IReceive), null);
            return true;
        }
Exemplo n.º 4
0
        public void Write(UruStream s)
        {
            s.WriteUInt(fTransID);
            s.WriteUInt(fNodeID);
            s.WriteBytes(fRevisionID.ToByteArray());

            if (fNodeData == null) fNodeData = new byte[0];
            s.WriteInt(fNodeData.Length);
            s.WriteBytes(fNodeData);
        }
Exemplo n.º 5
0
 public void Write(UruStream s)
 {
     s.WriteUInt(fPingTime);
     s.WriteUInt(fTransID);
     if (fPayload == null) s.WriteInt(0);
     else {
         s.WriteInt(fPayload.Length);
         s.WriteBytes(fPayload);
     }
 }
Exemplo n.º 6
0
 public void Write(UruStream s)
 {
     s.WriteUInt(fNodeID);
     s.WriteBytes(fRevisionUuid.ToByteArray());
 }
Exemplo n.º 7
0
 public void Write(UruStream s)
 {
     s.WriteUInt(fTransID);
     s.WriteInt(fNodeData.Length);
     s.WriteBytes(fNodeData);
 }
Exemplo n.º 8
0
 public void Write(UruStream s)
 {
     s.WriteUInt(fTransID);
     s.WriteInt((int)fResult);
     if (fNodeData == null) fNodeData = new byte[0];
     s.WriteInt(fNodeData.Length);
     s.WriteBytes(fNodeData);
 }
Exemplo n.º 9
0
 public void Write(UruStream s)
 {
     s.WriteUInt(fTransID);
     s.WriteUnicodeStringV16(fAgeName, 40);
     s.WriteBytes(fAgeInstanceUuid.ToByteArray());
 }
Exemplo n.º 10
0
 public void Write(UruStream s)
 {
     s.WriteBytes(fInstanceUuid.ToByteArray());
     s.WriteUnicodeStringF(fFilename, 64);
     s.WriteUnicodeStringF(fInstanceName, 64);
     s.WriteUnicodeStringF(fUserName, 64);
     s.WriteUnicodeStringF(fDescription, 1024);
     s.WriteUInt(fSequenceNumber);
     s.WriteInt(fLanguage);
     s.WriteUInt(fPopulation);
     s.WriteUInt(fCurrPopulation);
 }
Exemplo n.º 11
0
        public void Write(UruStream s)
        {
            s.WriteUInt(fMsgType);

            if (fBuffer == null) fBuffer = new byte[0];
            s.WriteInt(fBuffer.Length);
            s.WriteBytes(fBuffer);
        }
Exemplo n.º 12
0
 public void Write(UruStream s)
 {
     if (fData == null) fData = new byte[0];
     s.WriteUInt(fTransID);
     s.WriteUInt((uint)fResult);
     s.WriteUInt(fReaderID);
     s.WriteUInt(fFileSize);
     s.WriteInt(fData.Length);
     s.WriteBytes(fData);
 }
Exemplo n.º 13
0
        public override bool Connect()
        {
            if (!base.Connect()) return false;

            //Send the AuthConnectHeader
            UruStream s = new UruStream(new NetworkStream(fSocket, false));
            s.BufferWriter();
            fHeader.Write(s);
            s.WriteInt(20);
            s.WriteBytes(Guid.Empty.ToByteArray());
            s.FlushWriter();
            s.Close();

            //Init encryption
            if(!base.NetCliConnect(41))
                return false;

            //Register the client...
            //Don't require the user to do this.
            Auth_RegisterRequest req = new Auth_RegisterRequest();
            req.fBuildID = fHeader.fBuildID;

            fStream.BufferWriter();
            fStream.WriteUShort((ushort)AuthCli2Srv.ClientRegisterRequest);
            req.Write(fStream);
            fStream.FlushWriter();

            fSocket.BeginReceive(new byte[2], 0, 2, SocketFlags.Peek, new AsyncCallback(IReceive), null);
            fChgHack.Reset(); fChgHack.WaitOne();

            return true;
        }
Exemplo n.º 14
0
        public byte[] ToByteArray()
        {
            MemoryStream ms = new MemoryStream();
            UruStream w = new UruStream(ms);

            foreach (FileManifestEntry e in fEntries) {
                //Filename
                w.WriteBytes(Encoding.Unicode.GetBytes(e.fFileName));
                w.WriteUShort((ushort)0);

                //Download
                w.WriteBytes(Encoding.Unicode.GetBytes(e.fDownloadName));
                w.WriteUShort((ushort)0);

                //Hash
                w.WriteBytes(Encoding.Unicode.GetBytes(e.fHash));
                w.WriteUShort((ushort)0);

                //Compressed Hash
                w.WriteBytes(Encoding.Unicode.GetBytes(e.fCompressedHash));
                w.WriteUShort((ushort)0);

                //File Size
                w.WriteUShort((ushort)(e.fFileSize >> 16));
                w.WriteUShort((ushort)(e.fFileSize & 0xFFFF));
                w.WriteUShort((ushort)0);

                //Compressed File Size
                w.WriteUShort((ushort)(e.fCompressedSize >> 16));
                w.WriteUShort((ushort)(e.fCompressedSize & 0xFFFF));
                w.WriteUShort((ushort)0);

                //Flags
                w.WriteUShort((ushort)(e.fFlags >> 16));
                w.WriteUShort((ushort)(e.fFlags & 0xFFFF));
                w.WriteUShort((ushort)0);
            }

            w.WriteUShort((ushort)0);

            byte[] rtn = ms.ToArray();
            w.Close();
            ms.Close();
            return rtn;
        }
Exemplo n.º 15
0
        public void Write(UruStream s)
        {
            s.WriteUInt(fTransID);
            s.WriteInt((int)fResult);
            s.WriteUInt(fAgeMcpID);
            s.WriteBytes(fAgeInstanceUuid.ToByteArray());
            s.WriteUInt(fAgeVaultID);

            if (fGameServerIP == null) {
                s.WriteInt(0);
            } else {
                //Little Endian IP
                byte[] ip = fGameServerIP.GetAddressBytes();
                Array.Reverse(ip);
                s.WriteBytes(ip);
            }
        }
Exemplo n.º 16
0
 public void Write(UruStream s)
 {
     s.WriteInt(fAddr);
     s.WriteBytes(fToken.ToByteArray());
 }
Exemplo n.º 17
0
 public void Write(UruStream s)
 {
     s.WriteUInt(fTransID);
     s.WriteInt((int)fResult);
     s.WriteBytes(fAcctGuid.ToByteArray());
     s.WriteUInt(fFlags);
     s.WriteUInt(fBillingType);
     if (fDroidKey == null) fDroidKey = new uint[4];
     for (int i = 0; i < fDroidKey.Length; i++)
         s.WriteUInt(fDroidKey[i]);
 }
Exemplo n.º 18
0
 public void Write(UruStream s)
 {
     s.WriteUInt(fTransID);
     s.WriteInt((int)fResult);
     s.WriteUInt(fFileSize);
     s.WriteUInt(fChunkPos);
     if (fChunkData == null) fChunkData = new byte[0];
     s.WriteInt(fChunkData.Length);
     s.WriteBytes(fChunkData);
 }
Exemplo n.º 19
0
 public void Write(UruStream s)
 {
     s.WriteUInt(fTransID);
     s.WriteUInt((uint)fResult);
     s.WriteUInt(fReaderID);
     s.WriteInt(fNumFiles);
     s.WriteInt(fData.Length / 2); //Wide char buffer...
     s.WriteBytes(fData);
 }
Exemplo n.º 20
0
        protected virtual bool NetCliConnect(int g)
        {
            UruStream s = new UruStream(new NetworkStream(fSocket, false));

            //NetCliConnect
            ISetupKeys(g);
            s.BufferWriter();
            s.WriteByte((byte)NetCliConnectMsg.kNetCliConnect);
            s.WriteByte(66);
            s.WriteBytes(fDhData);
            s.FlushWriter();

            //Recv NetCliEncrypt
            if (s.ReadByte() != (byte)NetCliConnectMsg.kNetCliEncrypt) { fSocket.Close(); return false; }
            byte[] seed = s.ReadBytes((int)(s.ReadByte() - 2));
            ISetupEncryption(seed);

            s.Close();
            return true;
        }
Exemplo n.º 21
0
 public void Write(UruStream s)
 {
     s.WriteUInt(fTransID);
     s.WriteBytes(fAgeUUID.ToByteArray());
     s.WriteBytes(fParentUUID.ToByteArray());
     s.WriteUnicodeStringV16(fFilename, 260);
     s.WriteUnicodeStringV16(fInstanceName, 260);
     s.WriteUnicodeStringV16(fUserName, 260);
     s.WriteUnicodeStringV16(fDescription, 1024);
     s.WriteInt(fSequenceNumber);
     s.WriteInt(fLanguage);
     s.WriteUInt(fCreatorID);
 }
Exemplo n.º 22
0
 public void Write(UruStream s)
 {
     s.WriteUInt(fTransID);
     s.WriteBytes(fAcctUUID.ToByteArray());
     s.WriteUnicodeStringV16(fName, 40);
     s.WriteUnicodeStringV16(fModel, 64);
     s.WriteUnicodeStringV16(fInvite, 260);
 }
Exemplo n.º 23
0
 public void Write(UruStream s)
 {
     s.WriteByte((byte)fType);
     s.WriteUShort(fSockHeaderSize);
     s.WriteUInt(fBuildID);
     s.WriteUInt((uint)fBuildType);
     s.WriteUInt(fBranchID);
     s.WriteBytes(fProductID.ToByteArray());
 }
Exemplo n.º 24
0
        public byte[] ToArray()
        {
            MemoryStream ms = new MemoryStream();
            UruStream s = new UruStream(ms);

            ulong bit = 1;
            Fields f = NodeFields;
            s.WriteULong((ulong)f);
            while (bit != 0 && bit <= (ulong)f) {
                switch ((f & (Fields)bit)) {
                    case Fields.kBlob_1:
                        s.WriteInt(fBlob[0].Length);
                        s.WriteBytes(fBlob[0]);
                        break;
                    case Fields.kBlob_2:
                        s.WriteInt(fBlob[1].Length);
                        s.WriteBytes(fBlob[1]);
                        break;
                    case Fields.kCreateAgeName:
                        s.WriteUnicodeStringV32(fCreateAgeName);
                        break;
                    case Fields.kCreateAgeUuid:
                        s.WriteBytes(fCreateAgeUuid.ToByteArray());
                        break;
                    case Fields.kCreateTime:
                        s.WriteUInt(ToUnixTime(fCreateTime));
                        break;
                    case Fields.kCreatorIdx:
                        s.WriteUInt(fCreatorIdx.Value);
                        break;
                    case Fields.kCreatorUuid:
                        s.WriteBytes(fCreatorUuid.ToByteArray());
                        break;
                    case Fields.kInt32_1:
                        s.WriteInt(fInt32[0].Value);
                        break;
                    case Fields.kInt32_2:
                        s.WriteInt(fInt32[1].Value);
                        break;
                    case Fields.kInt32_3:
                        s.WriteInt(fInt32[2].Value);
                        break;
                    case Fields.kInt32_4:
                        s.WriteInt(fInt32[3].Value);
                        break;
                    case Fields.kIString64_1:
                        s.WriteUnicodeStringV32(fIString64[0]);
                        break;
                    case Fields.kIString64_2:
                        s.WriteUnicodeStringV32(fIString64[1]);
                        break;
                    case Fields.kModifyTime:
                        s.WriteUInt(ToUnixTime(fModifyTime));
                        break;
                    case Fields.kNodeIdx:
                        s.WriteUInt(fIdx);
                        break;
                    case Fields.kNodeType:
                        s.WriteUInt((uint)fNodeType);
                        break;
                    case Fields.kString64_1:
                        s.WriteUnicodeStringV32(fString64[0]);
                        break;
                    case Fields.kString64_2:
                        s.WriteUnicodeStringV32(fString64[1]);
                        break;
                    case Fields.kString64_3:
                        s.WriteUnicodeStringV32(fString64[2]);
                        break;
                    case Fields.kString64_4:
                        s.WriteUnicodeStringV32(fString64[3]);
                        break;
                    case Fields.kString64_5:
                        s.WriteUnicodeStringV32(fString64[4]);
                        break;
                    case Fields.kString64_6:
                        s.WriteUnicodeStringV32(fString64[5]);
                        break;
                    case Fields.kText_1:
                        s.WriteUnicodeStringV32(fText[0]);
                        break;
                    case Fields.kText_2:
                        s.WriteUnicodeStringV32(fText[1]);
                        break;
                    case Fields.kUInt32_1:
                        s.WriteUInt(fUInt32[0].Value);
                        break;
                    case Fields.kUInt32_2:
                        s.WriteUInt(fUInt32[1].Value);
                        break;
                    case Fields.kUInt32_3:
                        s.WriteUInt(fUInt32[2].Value);
                        break;
                    case Fields.kUInt32_4:
                        s.WriteUInt(fUInt32[3].Value);
                        break;
                    case Fields.kUuid_1:
                        s.WriteBytes(fUuid[0].ToByteArray());
                        break;
                    case Fields.kUuid_2:
                        s.WriteBytes(fUuid[1].ToByteArray());
                        break;
                    case Fields.kUuid_3:
                        s.WriteBytes(fUuid[2].ToByteArray());
                        break;
                    case Fields.kUuid_4:
                        s.WriteBytes(fUuid[3].ToByteArray());
                        break;
                }

                bit <<= 1;
            }

            byte[] buf = ms.ToArray();
            s.Close();
            ms.Close();
            return buf;
        }