DevTools for PocketMine-MP: From Plugin Folder to PHAR

13 views 0 downloads

Build a working PocketMine command, package it with DevTools 1.17.2, then verify the PHAR on a clean server without DevTools.

DevTools turns an editable PocketMine plugin folder into a PHAR you can move to another server. This walkthrough builds a tiny workshop command, packages it, and checks that the command still works on a clean server containing only the finished PHAR.

The setup was checked on 29 September 2026 using DevTools 1.17.2, PocketMine-MP 5.44.3 and PHP 8.3.29 ZTS on Windows. All commands below run in the server console, without a leading slash. No Minecraft client is needed for this exercise.

Start with the matching server and DevTools file

Start with a working PocketMine-MP 5.44.3 server in a separate development folder, using its supported PHP runtime and extensions.

Stop that server, place DevTools 1.17.2 in its plugins folder as DevTools.phar, then start it again. Enter:

plugins
genplugin CanvasWorkshop Modonix

The first command should list DevTools v1.17.2. The second creates plugins/CanvasWorkshop/plugin.yml and plugins/CanvasWorkshop/src/Main.php. Use the names shown here when copying the example code below: the author name also becomes part of the PHP namespace.

A local console and file viewer shows DevTools 1.17.2 generating CanvasWorkshop beside its actual plugin.yml and empty Main.php.

The generated folder is the editable project. These images show our read-only viewer of a running server's output and real files; PocketMine itself has no interface like this viewer.

Creating the folder does not immediately load the new plugin. Stop the server before editing these files, then restart it after the changes.

Give the example one command you can test

Replace plugins/CanvasWorkshop/plugin.yml with:

name: CanvasWorkshop
version: 0.0.1
main: Modonix\CanvasWorkshop\Main
api: 5.44.3
src-namespace-prefix: Modonix\CanvasWorkshop
commands:
  workshop:
    description: Check the workshop plugin
    permission: canvasworkshop.command.workshop
permissions:
  canvasworkshop.command.workshop:
    default: op

The generator wrote api: 5.44.3 from the running server, and this example keeps it. DevTools itself declares API 5.0.0. These are separate minimum-server requirements: changing the number in your plugin does not update its code for an older API.

Replace plugins/CanvasWorkshop/src/Main.php with:

<?php
declare(strict_types=1);

namespace Modonix\CanvasWorkshop;

use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\plugin\PluginBase;

class Main extends PluginBase{
    public function onCommand(CommandSender $sender, Command $command, string $label, array $args): bool{
        if($command->getName() !== "workshop"){
            return false;
        }
        $sender->sendMessage("CanvasWorkshop 0.0.1 is ready.");
        return true;
    }
}

Restart the server. DevTools enables folder-plugin loading, so plugins should now list both DevTools and CanvasWorkshop. Run workshop; the expected reply is CanvasWorkshop 0.0.1 is ready. This small response gives you a concrete result to compare before and after packaging.

The permission defaults to operators. This walkthrough checks the console path; test an ordinary player's access separately before using the command on a shared server.

Build the PHAR from the loaded folder

With CanvasWorkshop loaded, enter:

makeplugin CanvasWorkshop

In the tested setup, DevTools added the two source files and created plugin_data/DevTools/CanvasWorkshop_v0.0.1.phar. Keep the CanvasWorkshop source folder as your editable project. The PHAR is the copy you distribute.

Live console output confirms the workshop command and PHAR creation beside the actual PHP command source.

The command succeeded before packaging, and makeplugin reported the output path. The complete source remained in the development folder.

If makeplugin reports an invalid plugin name, run plugins and check that CanvasWorkshop actually loaded after the restart. For a load error, fix the first relevant console error before trying to package again. If PHP reports that PHAR creation is disabled, set phar.readonly=0 in the development server's PHP configuration and restart it.

Check the package in a clean folder

Prepare a second PocketMine-MP 5.44.3 server with the same supported PHP runtime. While it is stopped, copy the new archive into its plugins directory. We named that copy CanvasWorkshop.phar; the plugin name still comes from plugin.yml inside it.

For this check, the second server's plugin directory contains only CanvasWorkshop.phar. Keep DevTools and the editable source folder in the first server. Start the second server and run:

plugins
workshop

Our second server listed Plugins (1): CanvasWorkshop v0.0.1 and returned the same CanvasWorkshop 0.0.1 is ready. message. The PHAR's plugin.yml and src/Main.php also matched the source files exactly.

A separate server lists only CanvasWorkshop and answers workshop beside its single PHAR and actual archive manifest.

The finished plugin ran without DevTools installed. Keeping the folder and PHAR on separate servers also avoids loading two copies of the same plugin.

Keep server API and game protocol separate

The older DevTools 1.16.0 file targets PocketMine API 4; 1.17.0 and 1.17.2 target API 5. Choose the matching API in Files when maintaining an older server.

PocketMine-MP 5.44.3 targets Bedrock 26.30. Successful console loading does not establish that a newer Bedrock client can join. This exercise checked folder loading, command execution, PHAR creation and PHAR-only loading; it did not test player connections or multiplayer permissions.

The upstream PocketMine-MP repository was archived on 9 July 2026 and DevTools on 8 August 2026. Treat this as a reproducible guide to the named versions when studying or maintaining that setup.

DevTools is by the PocketMine Team and contributors. Modonix wrote the CanvasWorkshop command and ran this local packaging exercise. The original DevTools downloads retain their authorship and LGPL license notices.

No ratings yet

Files

Filter files 3 filesAll release types
Show all files

Version 1.17.2

Stable

DevTools.phar

Server software: PocketMine-MP
0 downloads
Download · 43.7 KB
Requirements & details
  • Server software: PocketMine-MP · Server API version: 5.0.0

Stop the development server, place DevTools.phar in plugins, then restart. DevTools 1.17.2 targets PocketMine API 5. Restart after generating or editing a source plugin before running makeplugin. Keep the editable folder and its built PHAR in separate active plugin directories.

Requirements & notes
Known issues
Loading a source folder and its PHAR together can cause duplicate-plugin errors. Restart after editing source files. PocketMine-MP 5.44.3 targets Bedrock 26.30; match player clients to the server protocol. The example plugin requires API 5.44.3.
Server runtime requirements
PocketMine-MP API 5 and its compatible PHP runtime. This walkthrough used PocketMine-MP 5.44.3 with PHP 8.3.29 ZTS on Windows.
Technical details
File details
Server API versions
5.0.0
File information

This file format requires manual inspection. Its contents have not been parsed.

Manifest values describe the package. They do not prove that it works with every game version. This check is not an antivirus scan.

SHA-256: 9d51b3a1c849b47674e4a4bdb9dadfc9e35ea36cd9eef61b4f18627839a194a8

Version 1.17.0

Stable

DevTools.phar

Server software: PocketMine-MP
0 downloads
Download · 43.4 KB
Requirements & details
  • Server software: PocketMine-MP · Server API version: 5.0.0
Requirements & notes
Server runtime requirements
A compatible PocketMine-MP server and its supported PHP runtime.
Technical details
File details
Server API versions
5.0.0
File information

This file format requires manual inspection. Its contents have not been parsed.

Manifest values describe the package. They do not prove that it works with every game version. This check is not an antivirus scan.

SHA-256: 6730aee3e88fdee46f7b6bb150e3243b03b203cda729809283e513ca2faa0e44

Version 1.16.0

Stable

DevTools.phar

Server software: PocketMine-MP
0 downloads
Download · 36.4 KB
Requirements & details
  • Server software: PocketMine-MP · Server API version: 4.0.0
Requirements & notes
Server runtime requirements
A compatible PocketMine-MP server and its supported PHP runtime.
Technical details
File details
Server API versions
4.0.0
File information

This file format requires manual inspection. Its contents have not been parsed.

Manifest values describe the package. They do not prove that it works with every game version. This check is not an antivirus scan.

SHA-256: 2f66f74aa68beaa6a59903dfaf42ad54e05a7dd01e273af3197e81509ad9801f

Release updates

Comments & questions

Share what worked, ask for help or reply to another player.

No comments yet. Share what worked for you.

Join the conversation

No account required. Confirm your email with a code before your first comment.

1Your name & email

Only a masked address appears with your name. Guest comments are reviewed before publication.

2Verify & post

Search Modonix

Search in