public SteamPacket(SteamPacketTypes packetType, byte[] data)
 {
     this.packetType = packetType;
     this.data = data;
     this.dataStream = new MemoryStream(data);
     this.byteReader = new BinaryReader(this.dataStream);
 }
Esempio n. 2
0
        public static SteamPacket CreatePacket(byte[] rawData, bool prefix)
        {
            int start = (prefix ? 4 : 0);

            SteamPacket      packet;
            SteamPacketTypes packetType = (SteamPacketTypes)rawData[start];

            MemoryStream byteStream = new MemoryStream(rawData.Length - 1);

            byteStream.Write(rawData, start + 1, rawData.Length - 1 - start);

            switch (packetType)
            {
            case SteamPacketTypes.S2C_CHALLENGE:
                packet = new ChallengeResponsePacket(byteStream.ToArray());
                break;

            case SteamPacketTypes.S2A_INFO:
                packet = new S2A_INFO_Packet(byteStream.ToArray());
                break;

            case SteamPacketTypes.S2A_INFO2:
                packet = new SourceServerInfoResponsePacket(byteStream.ToArray());
                //packet = new S2A_INFO2_Packet(byteStream.ToArray());
                break;

            case SteamPacketTypes.S2A_INFO_DETAILED:
                packet = new S2A_INFO_DETAILED_Packet(byteStream.ToArray());
                break;

            case SteamPacketTypes.S2A_RULES:
                packet = new ServerRulesResponsePacket(byteStream.ToArray());
                break;

            case SteamPacketTypes.S2A_PLAYER:
                packet = new PlayersResponsePacket(byteStream.ToArray());
                break;

            case SteamPacketTypes.RCON_GOLDSRC_CHALLENGE_HEADER:
            case SteamPacketTypes.RCON_GOLDSRC_NO_CHALLENGE_HEADER:
            case SteamPacketTypes.RCON_GOLDSRC_RESPONSE_HEADER:
                packet = new RCONGoldSrcResponsePacket(byteStream.ToArray());
                break;

            case SteamPacketTypes.M2A_SERVER_BATCH:
                packet = new MasterServerResponseBatchPacket(byteStream.ToArray());
                break;

            default:
                packet = new SteamPacket(packetType, byteStream.ToArray());
                break;
            }

            return(packet);
        }
 public ServerInfoBasePacket(SteamPacketTypes packetType, byte[] dataBytes)
     : base(packetType, dataBytes)
 {
 }
Esempio n. 4
0
 public SteamPacket(SteamPacketTypes packetType, byte[] data, int offset)
 {
     PacketType = packetType;
     reader     = new PacketReader(data, offset);
 }
Esempio n. 5
0
 public SteamPacket(SteamPacketTypes packetType, byte[] data)
     : this(packetType, data, 0)
 {
 }
Esempio n. 6
0
 public SteamPacket(SteamPacketTypes packetType)
 {
     PacketType = packetType;
 }
 public SteamPacket(SteamPacketTypes packetType, byte[] data, int offset)
 {
     PacketType = packetType;
     reader = new PacketReader(data, offset);
 }
 public SteamPacket(SteamPacketTypes packetType, byte[] data)
     : this(packetType, data, 0)
 {
 }
 public SteamPacket(SteamPacketTypes packetType)
 {
     PacketType = packetType;
 }
 public GameServerQueryRequestPacket(SteamPacketTypes requestType)
     : base(requestType)
 {
 }
 public GameServerQueryRequestPacket(SteamPacketTypes requestType, byte[] data)
     : base(requestType, data)
 {
 }