Git Product home page Git Product logo

pluget's Introduction

pluGET

madewithpython

Apache-2.0 downloads

pluGET

A powerful package manager which updates Plugins and Server Software for minecraft servers.

pluGET.gif

Screenshots

check all to check installed plugins for updates:
screenshot1

check all with more plugins:
screenshot2

help command list all available commands:
screenshot3

meme

Issues? Found a bug?

Create an issue.

About

This is a package manager for minecraft Spigot servers and its forks (e.g. PaperMC).
This is a standalone program written in python.
The program works with a locally installed server or with a remote host through SFTP/FTP, when configured in the config.
It uses the Spiget API to download and compare plugin versions and can download the latest version of plugins from the Spigot site.
It can also compare and download the latest update of specific server software (e.g. PaperMC).

Plugin management was the hard part of managing a minecraft server. The time it took to check the Spigot resource page for updates for the installed plugins and updating all plugins manually which have available updates was too long and daunting.
So I built pluGET to automate and ease the plugin handling of a minecraft server and to turn the most time consuming part of managing a minecraft server to an easy one.

This program is suited for minecraft server owners who want to save time and stay on top of their plugin versions.
The program input and the associated config file are pretty simple so every server owner and not only the most tech savy ones can use pluGET to ease their plugin handling.

Follow the Installation guide below for an easy and hassle free setup of pluGET.
Read Usage below to get some example inputs when using pluGET.
If you still have questions here is the best place to ask for support.

So what can it do exactly?
pluGET can:

  • work locally or through SFTP/FTP
  • manage plugins:
    • download the latest version of a plugin
    • update every installed/one specific plugin
    • check for an update of every installed/one specific plugin
    • remove a plugin from the plugin folder
  • manage server software:
    • download a specific server software version
    • check installed server software for update
    • update installed server software to a specific version
    • supported server software: PaperMc

There are more features in the work. Check Projects for a complete list.

So why do it manually when you can use pluGET to automate it? ๐Ÿš€
Get the latest release here.

Donations

If you feel like showing your love and/or appreciation for this project then how about buying me a coffee! :)

Buy Me A Coffee

Need help?

Discord

Installation

1. Python

Python needs to be installed on your machine.
Get it here.

2. Dependencies

Install the needed packages for this project.

Automatically (Windows only)

Execute the installer.bat file to automaticcally install the needed packages for this project.

Sometimes the security warning Windows protected your PC comes when launching the installer.bat file.
This is a normal behaviour from the windows defender because this is a unknown .bat file.
To run the installer.bat anyway, click More Info and then Run anyway when the message pops up.

Manually

Execute this command in the \plugGET folder:

py -m pip install -r requirements.txt

3. Edit the Config

When run the first time, the config.ini file will be created in the \src folder and the program will close.
Edit the config to your needs and relaunch pluGET.
Now you are good to go!

Start pluGET

Windows:

Execute the launcher.bat in the \pluGET folder.
This will launch pluGET correctly.

Sometimes the security warning Windows protected your PC comes when launching the launcher.bat file.
This is a normal behaviour from the windows defender because this is a unknown .bat file.
To run the launcher.bat anyway, click More Info and then Run anyway when the message pops up.

Linux:

Use cd to change into the /pluGET directory and change the permission of the launcher.sh to make it executeable:

$ chmod +x launcher.sh

Execute the launcher.sh file:

$ ./launcher.sh

On both OS you can also launch the src/__main__.py file.

Usage

As always, if you update plugins, shut down your server!

The following are examples of input for the general usage:
(Hint: [thingsInBrackets] are optional & 'all' can always be exchanged through the plugin name or the plugin id and reverse)

General

Command help:

help command [all/command]

help command
Output

Output

Manage Plugins

Download the latest update of a specific package:

get [pluginID/pluginName]

get 'pluginID'

or:

get 'pluginName'

Check all plugins/one specific plugin for updates with optional changelog output:

check [all/pluginName] [changelog]

check all

or:

check 'pluginName' changelog
Output

Output

Update all plugins/one specific plugin:

update [all/pluginName]

update all

or:

update 'pluginName'

Remove a plugin with the ID/Name:

remove [pluginID/pluginName]

remove 'pluginID'

or:

remove 'pluginName'

Search for a plugin:

search [pluginName]

search 'pluginName'

Exit program:

exit [anything]

exit .

Get link to here:

help [anything]

help .

Manage Server Software

Check installed server software for updates:

check serverjar

check serverjar

Update installed server software to latest/specific version:

update serverjar [Version]

update serverjar 'PaperMCVersion'

Download specific paper version:

get-paper [paperBuild] [minecraftVersion]

get-paper 550 1.16.5

or:

get-paper 321

Known problems

Can't get latest version/Update available

Inconsistent Names and Versions

For example:
EssentialsX
EssentialsX is a prominent example of inconsisten version naming. The installed version is 2.18.2.0 but on Spigot the version is only described as 2.18.2.
That's the reason pluGET can't detect it automatically.

There are of course many more plugins which have some sort of inconsistency which makes it sadly impossible for pluGET to detect them all. EssentialsX is used only as an example.

Solution

Download the plugins with the get [pluginName] command to make them detectable for pluGET.
After downloading EssentialsX with get EssentialsX and using check all:
EssentialsX
EssentialsX is now detected from pluGET and can update automatically when a new version comes out.

Bukkit plugins

For example:
worldguard
As you can see the installed version was found but not the latest version for this plugin.
This is because this is a plugin which is not available on Spigot. pluGET supports currently only plugins from Spigot.
In this example this is a bukkit plugin.

pluget's People

Contributors

neocky avatar skaterjess2012 avatar zandercraftgames avatar thedudefromci avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.