mmm545 / libgamespyquery
此包的最新版本(dev-main)没有提供许可证信息。
用于通过GS4查询服务器的病毒和库
dev-main
2021-11-16 03:48 UTC
Requires
- php: ^7.3 || ^8.0
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()