Ore-Get - apt-get like Plugin management for SpongePowered servers

This is a discussion topic for the Ore project, Ore-Get. View the full project on Ore for downloads and more information.


Ore-Get

A apt-get inspired Plugin management tool

How it works

This plugin connects to the Ore API in order to fetch information about
available plugins. Since Java can’t remove loaded jar-files (on Windows) or load plugins
while the server is running, ore-get will create a shell-script based on
your server OS that can be executed by your server’s watchdog, after the
server terminated. (This script will only be created if the server did not
crash).

On Windows

The script is called oreget_postserver.bat. If your watchdog is a batch
script you can add it like this:

rem start server
java -jar sponge-current-version.jar
rem execute oreget post script
if EXIST oreget_postserver.bat oreget_postserver.bat

On Linux/Unix

The script is called oreget_postserver.sh. If your watchdog is a
bash-script you can add it like this:

# start server
java -jar sponge-current-version.jar
# execute oreget post script
test -e oreget_postserver.sh && /bin/bash oreget_postserver.sh

Commands

Prefix is always /ore-get, /oreget or /ore, so a full command looks
something like this: /ore-get search huskycrates
The base-command requires the permission oreget.command.base

  • search QUERY - Permission oreget.command.search
    search for QUERY in the Ore repository, like you would on the Website
  • show PLUGINID - Permission oreget.command.show
    show detailed information about this plugin
  • install --only-upgrade PLUGINID... - Permission oreget.command.install
    install or upgrade one or more plugins by id. if you specify the flag
    --only-upgrade no new plugins will be installed
  • upgrade - Permission oreget.command.upgrade
    install new versions for all plugins and update dependencies
  • full-upgrade - Permission oreget.command.fullupgrade
    like upgrade, but removed dependencies that are no longer needed.
  • remove PLUGINID... - Permission oreget.command.remove
    mark or unmark the plugin(s) for removal
  • autoremove - Permission oreget.command.autoremove
    scan for dependency plugins that are no longer required and mark them for
    removal
  • mark PLUGINID - Permission oreget.command.mark
    mark this plugin as dependency, this plugin can now be auto-removed
  • unmark PLUGINID - Permission oreget.command.mark
    mark this plugin as manually installed, auto-remove won’t touch this plugin
  • confirm - Permission oreget.command.confirm
    confirm plugin installation/upgrade
  • reject/deny/cancel - Permission oreget.command.confirm
    cancel the plugin installation/upgrade

Future plans

  • [ ] Command fix-deps to automatically fetch missing dependencies for unloaded plugins
  • [ ] Command hold, to prevent updates to a specific plugins
  • [ ] Command forbid-version, to prever update to a specific version
  • [ ] Keep up-to-date with Ore API v2
  • [ ] Support for plugin=version syntax when installing

External Connections

The connection to Ore is obviously required.
No other connections, that’s all.

Need Help?

Join my Discord

A new version has been released for Ore-Get, it is available for download here.


Initial release

A new version has been released for Ore-Get, it is available for download here.


  • Improved formatting
  • More places (mainly /ore show) now use the correct Promoted version
  • Fixed first version without SpongeAPI tag being allowed as Promoted version
  • Changed /ore autoremove to also run as Job to prevent interference with other Jobs

A new version has been released for Ore-Get, it is available for download here.


  • Fixed the ‘can-update’ check being broken

A new version has been released for Ore-Get, it is available for download here.


  • Versions for the Sponge-Tag are now well defined.
    -> The Syntax used is the Maven Version Range Syntax.
    -> “Soft requirement” versions stray from the Maven definition by requiring the API Major to match
    -> Since Ore does not promote versions without Sponge Version Range, I will no longer attempt to list those as well.
    -> More about Maven Version Range Syntax here

A new version has been released for Ore-Get, it is available for download here.


OreGet is now runnable as standalone.
In standalone mode the post-script will be executed automatically unless --dry-run is specified.