DEVirion
Incompatible con la versión actual de PocketMine-MP — Could not load plugin 'DEVirion': Incompatible API version (plugin requires one of: 4.0.0) · Probado en PocketMine-MP 5.50.0 (PHP 8.4.27).
DEVirion is the virion dependency manager. It can be used to run plugins from source if they require virions.
-
Install this plugin
-
Create a directory called virions next to the plugins folder (not inside it!)
-
Drop the virions you use into the virions folder. Both packaged (.phar) virions and source (folder) virions are acceptable. (Just like how you install plugins with DevTools)
Notes
-
DEVirion will not shade plugins. Hence, this plugin must only be used for virion/plugin development. Released plugins must not depend on DEVirion to load virions.
-
DEVirion cannot automatically detect what virions are needed. Use the CLI to automatically download virions required for a certain project.
Command Line Options (for PocketMine)
You may also use the command-line option --load-virions to specify an additional folder to scan virions from (similar to the plugin path), or --load-virion (singular) to explicitly load a folder virion at the specified path (does not work with phar virions). For example, if you have this folder structure:
/ /server/ /server/PocketMine-MP.phar /server/start.sh /server/virions/ /server/virions/libweird.phar /server/virions/libstrange/ (with a virion.yml in this folder) /libs/ /libs/libodd.phar /libs/librare/ (with a virion.yml in this folder) /misc/ /misc/libnormal.phar /misc/libtrivial/ (with a virion.yml in this folder)
-
Running ./start.sh in /server/ will automatically load libweird and libstrange.
-
Running ./start.sh --load-virions=/libs/ will additionally load libodd and librare
-
Running ./start.sh --load-virion=/misc/libtrivial/ will additionally load libtrivial.
-
Running ./start.sh --load-virion=/misc/libnormal.phar will not load libnormal, because --load-virion does not support phar virions — it's usually not necessary, and you should copy it to virions folder instead.
Command Line Interface (Standalone executable)
Usage
=== DEVirion.phar usage ===
php /path/to/DEVirion.phar install
- Downloads all virions required by a project
is the path to the .poggit.yml of the project. You may put an URLs here. is the case-insensitive name of the project. is the path to the folder that virions should be installed in. This should be /path/to/your_server/virions - --replace will cause DEVirion to overwrite existing virions with the same name DEVirion uses ({VirionName}_v{MajorVersion}.phar)
php /path/to/DEVirion.phar download
- Downloads a virion build from Poggit
, and are the case-insensitive names of the repo owner, repo and project containing the virion. can be ~ if same as . is the SemVer version constraint for the virion required. Same as the version field in .poggit.yml - Only builds from the --branch branch will be used. ":default" means the current default branch of the repo. --branch or --branch=* will accept all branches.
- If --output is provided, the virion will be downloaded to there.
Otherwise, it is downloaded to
.phar (or " _(n).phar" if exists). --output without a value will echo the file contents to stderr. (There is no option to echo to stdout because stdout is used for showing verbose information)
Requirements
To run the CLI,
-
PHP 7.0 or above is required
-
The OpenSSL extension must be present to provide the https:// wrapper (cURL is not required)
-
The YAML extension is required.
-
(Will be fixed soon) The production phar may not contain the shebang line #!/usr/bin/env php in the stub, so directly executing devirion.phar blah blah blah may not work.