Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function QueryOldPre17( )
- {
- fwrite( $this->Socket, "\xFE\x01" );
- $Data = fread( $this->Socket, 512 );
- $Len = StrLen( $Data );
- if( $Len < 4 || $Data[ 0 ] !== "\xFF" )
- {
- return FALSE;
- }
- $Data = SubStr( $Data, 3 ); // Strip packet header (kick message packet and short length)
- $Data = iconv( 'UTF-16BE', 'UTF-8', $Data );
- // Are we dealing with Minecraft 1.4+ server?
- if( $Data[ 1 ] === "\xA7" && $Data[ 2 ] === "\x31" )
- {
- $Data = Explode( "\x00", $Data );
- return Array(
- 'HostName' => $Data[ 3 ],
- 'Players' => IntVal( $Data[ 4 ] ),
- 'MaxPlayers' => IntVal( $Data[ 5 ] ),
- 'Protocol' => IntVal( $Data[ 1 ] ),
- 'Version' => $Data[ 2 ]
- );
- }
- $Data = Explode( "\xA7", $Data );
- return Array(
- 'HostName' => SubStr( $Data[ 0 ], 0, -1 ),
- 'Players' => isset( $Data[ 1 ] ) ? IntVal( $Data[ 1 ] ) : 0,
- 'MaxPlayers' => isset( $Data[ 2 ] ) ? IntVal( $Data[ 2 ] ) : 0,
- 'Protocol' => 0,
- 'Version' => '1.3'
- );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement