php-minecraft/minecraft-query

Minecraft 服务器数据检索库(玩家、motd、favicon等)

v1.0.2 2022-11-14 00:15 UTC

This package is auto-updated.

Last update: 2024-09-14 04:21:29 UTC


README

🛰️ Minecraft PHP库,用于检索服务器查询数据

安装

至少需要PHP 7.2

composer require php-minecraft/minecraft-query

示例用法

declare(strict_types=1);

require __DIR__ . '/../vendor/autoload.php';

use PHPMinecraft\MinecraftQuery\MinecraftQueryResolver;

Minecraft v1.7+

$resolver = new MinecraftQueryResolver('play.minecord.net', 25565);

$result = $resolver->getResult();

Minecraft <= v1.6

$resolver = new MinecraftQueryResolver('play.minecord.net', 25565);

$resolver->retrieveDataPre17();

$result = $resolver->getResult();

自动检测Minecraft版本(如果1.7+的查询失败,将使用较旧版本)

$resolver = new MinecraftQueryResolver('play.minecord.net', 25565);

$result = $resolver->getResult($tryOldQueryProtocolPre17 = true);

结果数据

$result->getMaxPlayers() // integer
$result->getOnlinePlayers() // integer
$result->getPlayersSample() // array (players -> sample at https://wiki.vg/Server_List_Ping)
$result->getVersion() // string
$result->getProtocolVersion() // integer
$result->getMessageOfTheDay() // string
$result->getLatency() // integer (ms)
$result->getFavicon() // string or null

调整

// use this cosntructor if you dont want separate address to host and port
$resolver = MinecraftQueryResolver::fromAddress('play.minecord.net');

// use this method if you want raw data in array retrieved from minecraft server
$rawData = $resolver->getRawData();

// use this method if you want construct MinecraftQueryResult from raw data
$result = MinecraftQueryResult::fromRawData($rawData);

库(套接字逻辑)灵感来源于 xPaw/PHP-Minecraft-Query