Class: M2A_SERVER_BATCH_Packet

Inherits:
Object
  • Object
show all
Includes:
SteamPacket
Defined in:
lib/steam/packets/m2a_server_batch_packet.rb

Constant Summary

Constants included from SteamPacket

SteamPacket::A2M_GET_SERVERS_BATCH2_HEADER, SteamPacket::A2S_INFO_HEADER, SteamPacket::A2S_PLAYER_HEADER, SteamPacket::A2S_RULES_HEADER, SteamPacket::A2S_SERVERQUERY_GETCHALLENGE_HEADER, SteamPacket::C2M_CHECKMD5_HEADER, SteamPacket::M2A_SERVER_BATCH_HEADER, SteamPacket::M2C_ISVALIDMD5_HEADER, SteamPacket::M2S_REQUESTRESTART_HEADER, SteamPacket::RCON_GOLDSRC_CHALLENGE_HEADER, SteamPacket::RCON_GOLDSRC_NO_CHALLENGE_HEADER, SteamPacket::RCON_GOLDSRC_RESPONSE_HEADER, SteamPacket::S2A_INFO2_HEADER, SteamPacket::S2A_INFO_DETAILED_HEADER, SteamPacket::S2A_LOGSTRING_HEADER, SteamPacket::S2A_PLAYER_HEADER, SteamPacket::S2A_RULES_HEADER, SteamPacket::S2C_CHALLENGE_HEADER, SteamPacket::S2C_CONNREJECT_HEADER, SteamPacket::S2M_HEARTBEAT2_HEADER

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from SteamPacket

#to_s

Constructor Details

#initialize(data) ⇒ M2A_SERVER_BATCH_Packet

Returns a new instance of M2A_SERVER_BATCH_Packet.



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/steam/packets/m2a_server_batch_packet.rb', line 14

def initialize(data)
  super M2A_SERVER_BATCH_HEADER, data

  unless @content_data.byte == 0x0A
    raise PacketFormatException.new('Master query response is missing additional 0x0A byte.')
  end

  @servers = []

  begin
    first_octet = @content_data.byte
    second_octet = @content_data.byte
    third_octet = @content_data.byte
    fourth_octet = @content_data.byte
    port_number = @content_data.short
    port_number = ((port_number & 0xFF) << 8) + (port_number >> 8)

    @servers << "#{first_octet}.#{second_octet}.#{third_octet}.#{fourth_octet}:#{port_number}"
  end while @content_data.remaining > 0
end

Instance Attribute Details

#serversObject (readonly)

Returns the value of attribute servers.



12
13
14
# File 'lib/steam/packets/m2a_server_batch_packet.rb', line 12

def servers
  @servers
end