Module: SteamPacket

Overview

This class represents a packet used by the Source query protocol

Constant Summary collapse

A2A_ACK_HEADER =
0x6A
A2A_PING_HEADER =
0x69
A2M_GET_SERVERS_BATCH2_HEADER =
0x31
A2S_INFO_HEADER =
0x54
A2S_PLAYER_HEADER =
0x55
A2S_RULES_HEADER =
0x56
A2S_SERVERQUERY_GETCHALLENGE_HEADER =
0x57
M2A_SERVER_BATCH_HEADER =
0x66
RCON_GOLDSRC_CHALLENGE_HEADER =
0x63
RCON_GOLDSRC_NO_CHALLENGE_HEADER =
0x39
RCON_GOLDSRC_RESPONSE_HEADER =
0x6c
S2A_INFO_DETAILED_HEADER =
0x6D
S2A_INFO2_HEADER =
0x49
S2A_PLAYER_HEADER =
0x44
S2A_RULES_HEADER =
0x45
S2C_CONNREJECT_HEADER =
0x39
S2C_CHALLENGE_HEADER =
0x41

Instance Method Summary collapse

Instance Method Details

#initialize(header_data, content_data = '') ⇒ Object

Creates a new SteamPacket object with given header and content data



30
31
32
33
# File 'lib/steam/packets/steam_packet.rb', line 30

def initialize(header_data, content_data = '')
  @content_data = StringIO.new content_data.to_s
  @header_data  = header_data
end

#to_sObject

Returns a packed string representing the packet’s data



36
37
38
# File 'lib/steam/packets/steam_packet.rb', line 36

def to_s
  [0xFF, 0xFF, 0xFF, 0xFF, @header_data, @content_data.string].pack('c5a*')
end