dev-lancer / mc-pack
该库旨在将Minecraft服务器与网站集成。
v2.2.2
2024-07-26 18:57 UTC
Requires
- php: >=7.4
- ext-json: *
- dev-lancer/minecraft-motd-parser: ^1.0
- dev-lancer/minecraft-rcon: ^1.0
- dev-lancer/minecraft-status: ^3.0
- phpseclib/phpseclib: ^2.0
- symfony/config: ^5.4
- symfony/polyfill-php83: ^1.30
- symfony/property-access: ^5.4
- symfony/serializer: ^5.4
- xpaw/php-minecraft-query: ^4.0
Requires (Dev)
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-26 19:40:03 UTC
README
安装
可以通过以下命令安装此库
composer require dev-lancer/mc-pack
查询
此方法使用GameSpy4协议,需要在您的server.properties
文件中启用query
监听器,如下所示
enable-query=true
query.port=25565
Rcon
此方法允许您发送命令,用于物品商店,需要在您的server.properties
文件中启用rcon
监听器,如下所示
enable-rcon=true
rcon.port=25575
rcon.password=pass
示例
查询 & Rcon
它启用下载基本服务器信息和发送命令。
<?php require 'vendor/autoload.php'; use DevLancer\MCPack\ConsoleRcon; use DevLancer\MinecraftStatus\Query; $info = new Query("some.minecraftserver.com", 25565); $info->connect(); $console = new ConsoleRcon("some.minecraftserver.com", 25575, "pass", 3); $console->connect(); $players = $info->getCountPlayers(); echo $players . "/" . $info->getMaxPlayers(); $console->sendCommand("bc MCPack");
请在此处查看查询
请在此处查看RCON
带有SSH的ServerManager
它启用下载基本服务器信息、发送命令和服务器管理。
<?php require 'vendor/autoload.php'; use DevLancer\MCPack\ConsoleRcon; use DevLancer\MCPack\Manager\ServerManager; use DevLancer\MCPack\Sftp\Sftp; $host = "some.minecraftserver.com"; $sftp = new Sftp($host); $sftp->login("username", "password"); $server = new ServerManager($sftp, 25565); $path = "path/to/minecraft/server.jar"; if(!$server->isRunning()) { if ($server->run(["-Xmx1G"], $path)) echo "server started"; }
服务器日志
此类允许从服务器下载日志。
<?php require 'vendor/autoload.php'; use DevLancer\MCPack\Logs; use DevLancer\MCPack\Sftp\Sftp; $host = "some.minecraftserver.com"; $sftp = new Sftp($host); $sftp->login("username", "password"); $path = "path/to/minecraft/logs/latest.log"; $logs = new Logs($sftp, $path); echo implode("<br />", $logs->getLogs(true));
属性
<?php require 'vendor/autoload.php'; use DevLancer\MCPack\Manager\PropertiesManager; use DevLancer\MCPack\Sftp\Sftp; $sftp = new Sftp("some.minecraftserver.com"); $sftp->login("username", "password"); $manager = new PropertiesManager("path/to/minecraft/server.properties", $sftp); $properties = $manager->getProperties(); $properties->setRconPassword("new-password"); $manager->saveProperties($properties);
Motd
<?php require 'vendor/autoload.php'; use DevLancer\MCPack\Motd; use DevLancer\MinecraftStatus\Ping; $host = "some.minecraftserver.com"; $info = new Ping($host, 25565); $info->connect(); $motd = new Motd($info); $motd->sendRequest(); echo $motd->getResponse(Motd::RESPONSE_HTML);
请在此处查看