{"id":15175117,"url":"https://github.com/robinradic/laravel-bukkit-swiftapi","last_synced_at":"2026-02-04T04:36:40.284Z","repository":{"id":18404412,"uuid":"21586000","full_name":"RobinRadic/laravel-bukkit-swiftapi","owner":"RobinRadic","description":"SwiftApi PHP API wrapped in a laravel package for remote calls to a minecraft bukkit server. Requires http://dev.bukkit.org/bukkit-plugins/swiftapi/ to be installed","archived":false,"fork":false,"pushed_at":"2014-07-16T09:54:01.000Z","size":392,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-21T08:49:39.372Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RobinRadic.png","metadata":{"files":{"readme":"readme.md","changelog":"changelog.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-07-07T20:41:57.000Z","updated_at":"2014-07-07T21:12:10.000Z","dependencies_parsed_at":"2022-09-02T06:44:18.493Z","dependency_job_id":null,"html_url":"https://github.com/RobinRadic/laravel-bukkit-swiftapi","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/RobinRadic/laravel-bukkit-swiftapi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobinRadic%2Flaravel-bukkit-swiftapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobinRadic%2Flaravel-bukkit-swiftapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobinRadic%2Flaravel-bukkit-swiftapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobinRadic%2Flaravel-bukkit-swiftapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RobinRadic","download_url":"https://codeload.github.com/RobinRadic/laravel-bukkit-swiftapi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobinRadic%2Flaravel-bukkit-swiftapi/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263279305,"owners_count":23441683,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-09-27T12:03:07.668Z","updated_at":"2026-02-04T04:36:40.244Z","avatar_url":"https://github.com/RobinRadic.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Laravel Bukkit SwiftAPI\n[![Build Status](https://travis-ci.org/RobinRadic/laravel-bukkit-swiftapi.svg?branch=master)](https://travis-ci.org/RobinRadic/laravel-bukkit-swiftapi)\n[![Latest Stable Version](https://poser.pugx.org/radic/bukkit-swift-api/v/stable.svg)](https://packagist.org/packages/radic/bukkit-swift-api)\n[![License](https://poser.pugx.org/radic/bukkit-swift-api/license.svg)](https://packagist.org/packages/radic/bukkit-swift-api)\n\nWraps the Apache Thrift generated PHP library for SwiftAPI in a Laravel Package and provides easy access trough a Facade. \n\nSwiftAPI is a Bukkit plugin that allows you to use the generated API to make simple calls to the Bukkit server over the webz. Or if wanted, you can generate it yourself using Apache Thrift. This makes SwiftAPI usable in almost any programming language.\n\n#### Version 1.0.0\n[View changelog and todo](https://github.com/RobinRadic/laravel-bukkit-swiftapi/blob/master/changelog.md)\n\n### Overview\n- [Requirements](https://github.com/RobinRadic/laravel-bukkit-swiftapi#requirements)\n- [Installation](https://github.com/RobinRadic/laravel-bukkit-swiftapi#installation)\n- [Configuration](https://github.com/RobinRadic/laravel-bukkit-swiftapi#configuration)\n- [Connecting](https://github.com/RobinRadic/laravel-bukkit-swiftapi#connecting)\n- [API Methods](https://github.com/RobinRadic/laravel-bukkit-swiftapi#methods)\n- [Further reading](https://github.com/RobinRadic/laravel-bukkit-swiftapi#further-reading)\n- [Credits](https://github.com/RobinRadic/laravel-bukkit-swiftapi#credits)\n- [License](https://github.com/RobinRadic/laravel-bukkit-swiftapi#license)\n\n##### Requirements\n- PHP \u003e= 5.3\n- Laravel \u003e= 4.0\n\n\n##### Installation\nRequire with composer:\n```Batchfile\ncomposer require radic/bukkit-swift-api\n```\nOr add to composer.json:\n```JSON\n{\n    \"radic/bukkit-swift-api\": \"dev-master\"\n}\n```\n\nRegister service provder and facade in app/config/app.php\n```php\n'providers' =\u003e array(\n    // ..\n    'Radic\\BukkitSwiftApi\\BukkitSwiftApiServiceProvider',\n),\n'aliases' =\u003e array(\n    // ..\n    'SwiftApi'               =\u003e 'Radic\\BukkitSwiftApi\\Facades\\SwiftApi',\n)\n```\n\n##### Configuration\nUse `php artisan config:publish radic/bukkit-swift-api` to edit the default configuration.\n\n```php\narray(\n    'global' =\u003e array(\n        'host' =\u003e 'localhost',\n        'port' =\u003e 21111,\n        'username' =\u003e 'admin',\n        'password' =\u003e 'test',\n        'salt' =\u003e 'saltines'\n    ),\n    'my-other-server' =\u003e array(\n        'host' =\u003e '11.11.11.11',        \n        'username' =\u003e 'admin',\n        'password' =\u003e 'test'\n        // If you left out config settings, it will use the global for that setting        \n    )\n);\n```\n\n##### Connecting\nThere are several ways to connect:\n```php\n// Uses global config settings\n$api = SwiftAPI::connect(); \n// Define all connection parameters inline\n$api = SwiftAPI::connect('ip-or-host', 4444, 'username', 'password', 'crypt-salt');\n// null or left out parameters will default back to the global config\n$api = SwiftAPI::connect('ip-or-host', null, 'username', 'password');\n// Uses 'my-other-server' from conffig.\n$api = SwiftAPI::connectTo('my-other-server');   \n```\n\nExample connection:\n```php\n$api = SwiftApi::connect();\nif($api-\u003eisConnected())\n{\n    var_dump('Connected');\n    $serverInfo = $api-\u003egetServer();\n    $api-\u003edisconnect();\n    var_dump($serverInfo);\n}\nelse\n{\n    var_dump( $api-\u003egetConnectionException()-\u003egetMessage() );\n}\n```\n##### API Methods \n```php\n$api-\u003eaddToWhitelist($name);\n$api-\u003eannounce($message);\n$api-\u003eban($name);\n$api-\u003ebanIp($ip);\n$api-\u003edeOp($name, $notifyPlayer);\n$api-\u003egetBannedIps();\n$api-\u003egetBannedPlayers();\n$api-\u003egetBukkitVersion();\n$api-\u003egetConsoleMessages($since);\n$api-\u003egetFileContents($fileName);\n$api-\u003egetOfflinePlayer($name);\n$api-\u003egetOfflinePlayers();\n$api-\u003egetOps();\n$api-\u003egetPlayer($name);\n$api-\u003egetPlayers();\n$api-\u003egetPlugin($name);\n$api-\u003egetPlugins();\n$api-\u003egetServer();\n$api-\u003egetServerVersion();\n$api-\u003egetWhitelist();\n$api-\u003egetWorld($worldName);\n$api-\u003egetWorlds();\n$api-\u003einstallPlugin($downloadUrl, $md5);\n$api-\u003ekick($name, $message);\n$api-\u003eop($name, $notifyPlayer);\n$api-\u003eping();\n$api-\u003ereloadServer();\n$api-\u003eremoveFromWhitelist($name);\n$api-\u003ereplacePlugin($pluginName, $downloadUrl, $md5);\n$api-\u003erunConsoleCommand($command);\n$api-\u003esaveWorld($worldName);\n$api-\u003esetFileContents($fileName, $fileContents);\n$api-\u003esetGameMode($name, $mode);\n$api-\u003esetPvp($worldName, $isPvp);\n$api-\u003esetStorm($worldName, $hasStorm);\n$api-\u003esetThundering($worldName, $isThundering);\n$api-\u003esetWorldTime($worldName, $time);\n$api-\u003eunBan($name);\n$api-\u003eunBanIp($ip);\n```\n\n[See here](http://willwarren.com/docs/swiftapi/latest/) which methods return data, and how that data is structured. A quick example:\n```php\n$api = SwiftApi::connect();\n$calls[] = $api-\u003egetServer();\n$calls[] = $api-\u003egetPlugins();\n$calls[] = $api-\u003egetOfflinePlayers();\n$calls[] = $api-\u003eping();\n$calls[] = $api-\u003egetOps();\n$api-\u003edisconnect();\nvar_dump($calls);\n```\n[You'll get something like this in return](https://github.com/RobinRadic/laravel-bukkit-swiftapi/blob/master/example-output.md)\n\n##### Further reading\n- [Bukkit SwiftAPI](http://dev.bukkit.org/bukkit-plugins/swiftapi). The SwiftAPI Website.\n- [SwiftAPI Thrift Documentation](http://willwarren.com/docs/swiftapi/latest/). The docs for SwiftAPI generated Thrift code.\n- [Bukkit SwiftAPI Reposiotry](https://bitbucket.org/phybros/swiftapi). Repository for the SwiftApi Bukkit Java plugin.\n\n##### Examples and goodies\nCheck my [Laravel Bukkit Console](https://github.com/RobinRadic/laravel-bukkit-swift-api). A web based console to directly interact with your Bukkit Server.\n\n### Credits\n- [Robin Radic](https://github.com/RobinRadic) created [Laravel Bukkit SwiftApi](https://github.com/RobinRadic/laravel-bukkit-swiftapi)\n- [Phybros](http://dev.bukkit.org/profiles/phybros) created [Bukkit SwiftAPI](http://dev.bukkit.org/bukkit-plugins/swiftapi)\n\n### License\nGNU General Public License version 3 (GPLv3)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobinradic%2Flaravel-bukkit-swiftapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobinradic%2Flaravel-bukkit-swiftapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobinradic%2Flaravel-bukkit-swiftapi/lists"}