PocketMine-MP supports several plugin formats. The standard ones are described below; you can make your own by making a custom plugin loader.
This plugin format consists of a single .phar which bundles all of the files necessary to make the plugin work.
This type of plugin is commonly used to distribute pre-made plugins, because they are easy for users to download and move around without needing to modify the plugin code.
- Drop the
.pharfile into yourpluginsdirectory. - Restart the server. The plugin will be loaded (if compatible).
Since the standard types of plugins are usually pretty difficult to work with while developing a plugin, there are more types of plugins that developers can use, but these are not recommended for distribution.
Note: this plugin format is not enabled by default. The DevTools plugin is required to load this type of plugin.
This plugin format is similar to a PHAR plugin in structure, but all the files are in a folder on the disk instead of inside a phar file. This gives you easy access to the source code when you're developing a plugin.
This plugin format is commonly used for development, because it is just as feature-complete as a PHAR plugin, and can be compiled to a PHAR plugin when you're ready to release it.
You can see the ExamplePlugin or any plugin source-code repository to get an idea of how this should look.
- If you don't have the
DevToolsplugin, download its phar file and put it in yourpluginsfolder. - Move the folder containing the plugin's source code into your
pluginsfolder. The plugin's folder should contain aplugin.ymlfile and asrcfolder. - Restart the server and the plugin will be loaded.
This plugin format works out of the box, but it's not recommended for production use, and has less features than a normal plugin would. This format is useful if you want to quickly test some features but don't need a full-blown plugin.
See this thread to see how a script plugin looks and works.
- Drop the
.phpfile into yourpluginsfolder. - Restart the server and the plugin will be loaded.
No. This is not currently possible.
PocketMine-MP does not directly support loading zip plugins, but there may be third-party plugins available which allow you to do this. However, this is not recommended.