Class: M2A_SERVER_BATCH_Packet
- Inherits:
-
Object
- Object
- M2A_SERVER_BATCH_Packet
- Includes:
- SteamPacket
- Defined in:
- lib/steam/packets/m2a_server_batch_packet.rb
Overview
This packet class represents a M2A_SERVER_BATCH response replied by a master server
It contains a list of IP addresses and ports of game servers matching the requested criteria.
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
-
#servers ⇒ Array<String>
readonly
Returns the list of servers returned from the server in this packet.
Instance Method Summary collapse
-
#initialize(data) ⇒ M2A_SERVER_BATCH_Packet
constructor
Creates a new M2A_SERVER_BATCH response object based on the given data.
Methods included from SteamPacket
Constructor Details
#initialize(data) ⇒ M2A_SERVER_BATCH_Packet
Creates a new M2A_SERVER_BATCH response object based on the given data
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/steam/packets/m2a_server_batch_packet.rb', line 31 def initialize(data) super M2A_SERVER_BATCH_HEADER, data unless @content_data.byte == 0x0A raise PacketFormatError, '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
#servers ⇒ Array<String> (readonly)
Returns the list of servers returned from the server in this packet
25 26 27 |
# File 'lib/steam/packets/m2a_server_batch_packet.rb', line 25 def servers @servers end |