loper/minecraft-query-client

Minecraft Query Client by TCP and UDP protocols.

v1.0.1 2023-12-23 20:17 UTC

This package is auto-updated.

Last update: 2024-04-23 21:03:07 UTC


README

Simple implementation of Server List Ping and Query for getting status of Minecraft Server.

Installation

composer require loper/minecraft-query-client

Examples

Server List Ping

examples/java-ping.php

#!/usr/bin/env php
<?php

declare(strict_types=1);

use Loper\Minecraft\Protocol\Struct\JavaProtocolVersion;
use Loper\MinecraftQueryClient\MinecraftQuery;

require_once __DIR__ . '/bootstrap.php';

return static function (string $host, int $port) {
    var_dump(MinecraftQuery::javaPing(
        host: $host,
        port: $port,
        protocol: JavaProtocolVersion::JAVA_1_7_1
    ));
};

Query

examples/java-query.php

#!/usr/bin/env php
<?php

declare(strict_types=1);

use Loper\Minecraft\Protocol\Struct\JavaProtocolVersion;
use Loper\MinecraftQueryClient\MinecraftQuery;

require_once __DIR__ . '/bootstrap.php';

return static function (string $host, int $port) {
    var_dump(MinecraftQuery::queryPing(
        host: $host,
        port: $port,
        protocol: JavaProtocolVersion::JAVA_1_7_1
    ));
};

Aggregated result from Query protocol & Minecraft server ping

examples/java-both.php

#!/usr/bin/env php
<?php

declare(strict_types=1);

use Loper\Minecraft\Protocol\Struct\JavaProtocolVersion;
use Loper\MinecraftQueryClient\MinecraftQuery;

require_once __DIR__ . '/bootstrap.php';

return static function (string $host, int $port) {
    var_dump(MinecraftQuery::javaQueryPing(
        host: $host,
        port: $port,
        protocol: JavaProtocolVersion::JAVA_1_7_1
    ));
};

Bedrock

examples/bedrock-ping.php

#!/usr/bin/env php
<?php

declare(strict_types=1);

use Loper\Minecraft\Protocol\Struct\BedrockProtocolVersion;
use Loper\MinecraftQueryClient\MinecraftQuery;

require_once __DIR__ . '/bootstrap.php';

return static function (string $host, int $port) {
    var_dump(MinecraftQuery::bedrockPing(
            host: $host,
            port: $port,
            protocol: BedrockProtocolVersion::BEDROCK_1_20_12
    ));
};

Credits