Methods |
public
|
challengeParseAndApply(Buffer $challenge_buffer): bool
Parse the challenge response and apply it to all the packet types
Parse the challenge response and apply it to all the packet types
Throws
Overrides
|
#
|
public
|
processResponse(): array
|
#
|
protected
|
processPackets($packet_id, array $packets = []): string
Process the split packets and decompress if necessary
Process the split packets and decompress if necessary
Throws
Overridden by
|
#
|
protected
|
processDetails(Buffer $buffer): mixed
Handles processing the details data into a usable format
Handles processing the details data into a usable format
Throws
Overridden by
|
#
|
protected
|
processDetailsGoldSource(Buffer $buffer): array
Handles processing the server details from goldsource response
Handles processing the server details from goldsource response
Throws
|
#
|
protected
|
processPlayers(Buffer $buffer): mixed
Handles processing the player data into a usable format
Handles processing the player data into a usable format
Throws
Overridden by
|
#
|
protected
|
processRules(Buffer $buffer): mixed
Handles processing the rules data into a usable format
Handles processing the rules data into a usable format
Throws
Overridden by
|
#
|
Properties |
protected
|
array
|
$packets = [
self::PACKET_CHALLENGE => "\xFF\xFF\xFF\xFF\x56\x00\x00\x00\x00",
self::PACKET_DETAILS => "\xFF\xFF\xFF\xFFTSource Engine Query\x00%s",
self::PACKET_PLAYERS => "\xFF\xFF\xFF\xFF\x55%s",
self::PACKET_RULES => "\xFF\xFF\xFF\xFF\x56%s",
]
|
#
|
protected
|
array
|
$responses = [
"\x49" => "processDetails",
"\x6d" => "processDetailsGoldSource",
"\x44" => "processPlayers",
"\x45" => "processRules",
]
|
#
|
protected
|
string
|
$protocol = 'source'
|
#
|
protected
|
string
|
$name = 'source'
|
#
|
protected
|
string
|
$name_long = "Source Server"
|
#
|
protected
|
int
|
$source_engine = self::SOURCE_ENGINE
|
#
|
protected
|
string
|
$join_link = "steam://connect/%s:%d/"
|
#
|
protected
|
array
|
$normalize = [
'general' => [
'dedicated' => 'dedicated',
'gametype' => 'game_descr',
'hostname' => 'hostname',
'mapname' => 'map',
'maxplayers' => 'max_players',
'mod' => 'game_dir',
'numplayers' => 'num_players',
'password' => 'password',
],
'player' => ['name' => 'name', 'score' => 'score', 'time' => 'time'],
]
|
#
|