mmm545/libgamespyquery

此包的最新版本(dev-main)没有提供许可证信息。

用于通过GS4查询服务器的病毒和库

dev-main 2021-11-16 03:48 UTC

This package is auto-updated.

Last update: 2024-09-16 11:14:11 UTC


README

用于Pocketmine-MP的查询病毒和库
此病毒/库使用GS4查询服务器,提供更多信息。不支持/未启用GS4的服务器无法使用此病毒/库进行查询,因此您需要使用其他病毒,例如 libpmquery

安装

将此添加到您的 .poggit.yml 中以将病毒添加到插件

libs:
  - src: KygekDev/libgamespyquery/libgamespyquery
    branch: main
    version: ^2.0

或者如果您想将其作为Composer库使用,打开命令行并运行此命令

composer require mmm545/libgamespyquery

有关此Composer库的更多信息,请参阅 Packagist

使用方法

首先创建一个新的 GameSpyQuery 实例,第一个参数是要查询的IP地址,第二个参数是要查询的端口

$query = new GameSpyQuery("someserver.org", 19132);

然后查询服务器

$query->query();

您还可以设置秒数的超时时间(可选),默认超时时间为2秒

$query->query(5);

如果目标IP和端口无法查询,则 query() 函数将抛出 GameSpyQueryException,因此您需要将其放在try-catch块中
如果一切正常,您可以使用 get() 函数获取有关服务器的一些信息
您可以获取的数据列表

$query->get("hostname"); // Server MOTD
$query->get("gametype"); // Game type, not sure what that means
$query->get("game_id"); // I think that's the game edition
$query->get("version"); // Version of minecraft the server is running on
$query->get("server_engine"); // Server software being used
$query->get("plugins"); // Plugins list with their version
$query->get("map"); // Current world
$query->get("numplayers"); // Number of online players
$query->get("maxplayers"); // Max number of players
$query->get("whitelist"); // On if whitelist is turned on, otherwise off
$query->get("hostip"); // Host ip
$query->get("hostport"); // Host port
$query->get("players"); // List of online players names

如果您想获取原始响应,可以使用 getStatusRaw()