radic / bukkit-swift-api
SwiftApi PHP API 封装在 Laravel 包中,用于远程调用 Minecraft Bukkit 服务器。
v1.0.0
2014-07-08 02:14 UTC
Requires
- php: >=5.3.0
- illuminate/support: 4.*
This package is not auto-updated.
Last update: 2024-09-24 01:43:56 UTC
README
将 Apache Thrift 生成的 PHP 库包装在 Laravel 包中,并通过 Facade 提供易于访问的方式。
SwiftAPI 是一个 Bukkit 插件,允许您使用生成的 API 通过 webz 简单地调用 Bukkit 服务器。或者,如果需要,您可以使用 Apache Thrift 自己生成它。这使得 SwiftAPI 几乎可用于任何编程语言。
版本 1.0.0
概述
要求
- PHP >= 5.3
- Laravel >= 4.0
安装
使用 composer 安装
composer require radic/bukkit-swift-api
或将其添加到 composer.json
{ "radic/bukkit-swift-api": "dev-master" }
在 app/config/app.php 中注册服务提供者和 facade
'providers' => array( // .. 'Radic\BukkitSwiftApi\BukkitSwiftApiServiceProvider', ), 'aliases' => array( // .. 'SwiftApi' => 'Radic\BukkitSwiftApi\Facades\SwiftApi', )
配置
使用 php artisan config:publish radic/bukkit-swift-api
编辑默认配置。
array( 'global' => array( 'host' => 'localhost', 'port' => 21111, 'username' => 'admin', 'password' => 'test', 'salt' => 'saltines' ), 'my-other-server' => array( 'host' => '11.11.11.11', 'username' => 'admin', 'password' => 'test' // If you left out config settings, it will use the global for that setting ) );
连接
有多种连接方式
// Uses global config settings $api = SwiftAPI::connect(); // Define all connection parameters inline $api = SwiftAPI::connect('ip-or-host', 4444, 'username', 'password', 'crypt-salt'); // null or left out parameters will default back to the global config $api = SwiftAPI::connect('ip-or-host', null, 'username', 'password'); // Uses 'my-other-server' from conffig. $api = SwiftAPI::connectTo('my-other-server');
示例连接
$api = SwiftApi::connect(); if($api->isConnected()) { var_dump('Connected'); $serverInfo = $api->getServer(); $api->disconnect(); var_dump($serverInfo); } else { var_dump( $api->getConnectionException()->getMessage() ); }
API 方法
$api->addToWhitelist($name); $api->announce($message); $api->ban($name); $api->banIp($ip); $api->deOp($name, $notifyPlayer); $api->getBannedIps(); $api->getBannedPlayers(); $api->getBukkitVersion(); $api->getConsoleMessages($since); $api->getFileContents($fileName); $api->getOfflinePlayer($name); $api->getOfflinePlayers(); $api->getOps(); $api->getPlayer($name); $api->getPlayers(); $api->getPlugin($name); $api->getPlugins(); $api->getServer(); $api->getServerVersion(); $api->getWhitelist(); $api->getWorld($worldName); $api->getWorlds(); $api->installPlugin($downloadUrl, $md5); $api->kick($name, $message); $api->op($name, $notifyPlayer); $api->ping(); $api->reloadServer(); $api->removeFromWhitelist($name); $api->replacePlugin($pluginName, $downloadUrl, $md5); $api->runConsoleCommand($command); $api->saveWorld($worldName); $api->setFileContents($fileName, $fileContents); $api->setGameMode($name, $mode); $api->setPvp($worldName, $isPvp); $api->setStorm($worldName, $hasStorm); $api->setThundering($worldName, $isThundering); $api->setWorldTime($worldName, $time); $api->unBan($name); $api->unBanIp($ip);
在此处查看哪些方法返回数据以及这些数据是如何组织的。快速示例
$api = SwiftApi::connect(); $calls[] = $api->getServer(); $calls[] = $api->getPlugins(); $calls[] = $api->getOfflinePlayers(); $calls[] = $api->ping(); $calls[] = $api->getOps(); $api->disconnect(); var_dump($calls);
进一步阅读
- Bukkit SwiftAPI. SwiftAPI 网站。
- SwiftAPI Thrift 文档. SwiftAPI 生成 Thrift 代码的文档。
- Bukkit SwiftAPI 仓库. SwiftApi Bukkit Java 插件的仓库。
示例和好东西
查看我的 Laravel Bukkit 控制台。一个基于 web 的控制台,可以直接与您的 Bukkit 服务器交互。
致谢
许可证
GNU 通用公共许可证版本 3 (GPLv3)