All Projects → poggit → devirion

poggit / devirion

Licence: Apache-2.0 license
Plugin used for debugging virions or plugins that use virions.

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to devirion

poggit
GitHub application for managing PocketMine-family plugins, and website for sharing plugins.
Stars: ✭ 96 (+174.29%)
Mutual labels:  pocketmine, poggit, poggit-virions
fireworks
Adds Fireworks to Pocketmine
Stars: ✭ 17 (-51.43%)
Mutual labels:  pocketmine, pocketmine-plugins
Volt
A painless web server for PocketMine-MP
Stars: ✭ 24 (-31.43%)
Mutual labels:  pocketmine, pocketmine-plugins
Capital
An extensible economy API for PocketMine-MP.
Stars: ✭ 31 (-11.43%)
Mutual labels:  pocketmine, pocketmine-plugins
BlockSniper
An advanced (brush) world editing plugin for PocketMine-MP
Stars: ✭ 77 (+120%)
Mutual labels:  pocketmine, pocketmine-plugins
LibSkin
Virion for working with player skins & PocketMine plugin for stealing other player's skins
Stars: ✭ 20 (-42.86%)
Mutual labels:  pocketmine, pocketmine-plugins
EggWars
EggWars minigame for PocketMine
Stars: ✭ 32 (-8.57%)
Mutual labels:  pocketmine, pocketmine-plugins
CommandShop
Players have to pay items or money to use specific commands! A PocketMine plugin.
Stars: ✭ 32 (-8.57%)
Mutual labels:  pocketmine, pocketmine-plugins
Other-Plugins
A collection of all the plugins which I used to work on but no longer maintain
Stars: ✭ 26 (-25.71%)
Mutual labels:  pocketmine, pocketmine-plugins
MineReset
Powerful mine resetting tool
Stars: ✭ 44 (+25.71%)
Mutual labels:  pocketmine, pocketmine-plugins
BuilderTools
🪓 Powerful World Editor plugin for PocketMine servers
Stars: ✭ 74 (+111.43%)
Mutual labels:  pocketmine, pocketmine-plugins
ProfileUI
Get any player's profile on a Modal Form! MCPE v1.2! PMMP support only!
Stars: ✭ 20 (-42.86%)
Mutual labels:  pocketmine, poggit
SAC
An AntiCheat software for PockeMine-MP made to detect unfair gamplay advantages.
Stars: ✭ 52 (+48.57%)
Mutual labels:  pocketmine, pocketmine-plugins
Specter
Super simple debugging for PocketMine.
Stars: ✭ 73 (+108.57%)
Mutual labels:  pocketmine, pocketmine-plugins
VirionTools
A handy plugin for developers who wish to compile and inject virions without using Poggit.
Stars: ✭ 17 (-51.43%)
Mutual labels:  pocketmine, poggit
depcharge
DepCharge is a tool designed to help orchestrate the execution of commands across many directories at once.
Stars: ✭ 23 (-34.29%)
Mutual labels:  dependency-manager
MagicWE2
[MagicWE2] Lag free asynchronous world editor for PMMP with plenty of options
Stars: ✭ 109 (+211.43%)
Mutual labels:  poggit
MyPlot
Plot and protection plugin for PocketMine-MP
Stars: ✭ 101 (+188.57%)
Mutual labels:  pocketmine
qompoter
Dependency manager for Qt / C++.
Stars: ✭ 19 (-45.71%)
Mutual labels:  dependency-manager
cppan
Project evolved into Software Network: https://github.com/SoftwareNetwork/sw
Stars: ✭ 108 (+208.57%)
Mutual labels:  dependency-manager

DEVirion

DEVirion is the virion dependency manager. It can be used to run plugins from source if they require virions.

  1. Install this plugin
  2. Create a directory called virions next to the plugins folder (not inside it!)
  3. 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 <manifest> <project> <folder> [--replace]
    - Downloads all virions required by a project
    - <manifest> is the path to the .poggit.yml of the project. You may put an
      URLs here.
    - <project> is the case-insensitive name of the project.
    - <folder> 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 <owner> <repo> <project> <version> [--branch=":default"] [--output="/path/to/output.phar"]
    - Downloads a virion build from Poggit
    - <owner>, <repo> and <project> are the case-insensitive names of the repo
      owner, repo and project containing the virion. <project> can be ~ if same
      as <repo>.
    - <version> 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 <project>.phar (or "<project>_(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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].