pluGET/README.md

174 lines
6.6 KiB
Markdown
Raw Normal View History

2021-03-09 19:53:07 +00:00
2021-03-04 21:59:19 +00:00
<p align="center">
2021-03-05 19:20:11 +00:00
<img src="https://i.ibb.co/JyCxnQn/logoreal.png" alt="pluGET" border="0"></a>
2021-03-04 21:59:19 +00:00
</p>
2021-03-09 19:53:07 +00:00
<p align="center">
<a href="https://www.python.org/"> <img src="https://forthebadge.com/images/badges/made-with-python.svg" alt="madewithpython" border="0"></a>
</p>
<p align="center">
<a href="https://github.com/Neocky/pluGET/blob/main/LICENSE"> <img src="https://img.shields.io/badge/license-Apache--2.0-blue" alt="Apache-2.0" border="0"></a>
2021-03-09 19:57:17 +00:00
<a href="https://github.com/Neocky/pluGET/releases"> <img src="https://img.shields.io/github/downloads/Neocky/pluGET/total" alt="downloads" border="0"></a>
2021-03-14 17:02:09 +00:00
<a href="http://hits.dwyl.com/Neocky/pluGET"> <img src="http://hits.dwyl.com/Neocky/pluGET.svg" alt="HitCount" border="0"></a>
</p>
2021-03-14 17:02:09 +00:00
2021-03-09 19:53:07 +00:00
# pluGET
2021-03-11 13:22:21 +00:00
A powerfull package manager which handles [Plugins](https://www.spigotmc.org/resources/) for minecraft servers.
2021-03-10 14:00:24 +00:00
2021-03-04 21:48:16 +00:00
## Issues? Found a bug?
2021-03-10 14:00:24 +00:00
[Create an issue.](https://github.com/Neocky/pluGET/issues/new/choose)
## About
2021-03-11 12:01:10 +00:00
This is a package manager for minecraft [Spigot](https://www.spigotmc.org/) servers and its forks (e.g. [PaperMC](https://papermc.io/)).
2021-03-11 13:24:28 +00:00
This is a standalone program written in python.
2021-03-11 13:02:15 +00:00
The program works with a locally installed server or with a remote host through SFTP, when configured in the config.
It uses the [Spiget](https://spiget.org/) API to download and compare plugin versions and can download the latest version of plugins from the [Spigot](https://www.spigotmc.org/) site.
Plugin management was the hard part of mangaging a minecraft server. The time it took to check the [Spigot ressource](https://www.spigotmc.org/resources/) page for updates for the installed plugins and updating all plugins manually which have available updates was too long and shocking.
2021-03-11 13:22:21 +00:00
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.
2021-03-11 13:02:15 +00:00
2021-03-10 14:00:24 +00:00
This program is suited for minecraft server owners who want to save time and stay on top of their plugin versions.
2021-03-11 13:22:21 +00:00
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.
2021-03-11 13:30:04 +00:00
2021-03-10 22:13:07 +00:00
Follow the [Installation](https://github.com/Neocky/pluGET#installation) guide below for an easy and hassle free setup of pluGET.
2021-03-11 13:02:15 +00:00
Read [Usage](https://github.com/Neocky/pluGET#usage) below to get some example inputs when using pluGET.
If you still have questions [here](https://github.com/Neocky/pluGET#need-help) is the best place to ask for support.
2021-03-10 14:00:24 +00:00
So what can it do exactly?
pluGET can:
- work locally or through sftp
- download the latest version of a plugin
- update every installed/one specific plugin
- check for an update of every installed/one specific plugin
2021-03-11 13:02:15 +00:00
- remove a plugin from the plugin folder
There are more features in the work. Check [Projects](https://github.com/Neocky/pluGET/projects) for a complete list.
2021-03-11 13:22:21 +00:00
**So why do it manually when you can use pluGET to automate it?** 🚀
2021-03-11 13:02:15 +00:00
[Get the latest release here.](https://github.com/Neocky/pluGET/releases)
2021-03-10 14:00:24 +00:00
2021-03-13 22:05:46 +00:00
## Donations
If you feel like showing your love and/or appreciation for this project then how about buying me a coffee! :)
<a href="https://www.buymeacoffee.com/Neocky" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" height="76" width="272"></a>
2021-03-10 14:00:24 +00:00
## Need help?
2021-03-13 22:05:46 +00:00
[<img src="https://i.imgur.com/D5vyVzC.png" alt="Discord" width="272"/>](https://discord.gg/475Uf4NBPF)
2021-03-10 14:00:24 +00:00
2021-03-06 21:14:13 +00:00
## Installation
2021-03-07 22:39:43 +00:00
### Python
Python needs to be installed on your machine.
Get it [here](https://www.python.org/downloads/).
2021-03-08 12:50:01 +00:00
### Dependencies
2021-03-06 21:14:13 +00:00
Install the needed packages for this project.
2021-03-10 14:00:24 +00:00
Execute this command in the ```\plugGET``` folder:
2021-03-06 21:14:13 +00:00
```python
pip install -r requirements.txt
```
2021-03-08 02:13:31 +00:00
2021-03-10 14:00:24 +00:00
2021-03-08 21:26:44 +00:00
### Edit the Config
2021-03-11 13:35:29 +00:00
When run the first time, the `config.ini` file will be created in the root package folder and the program will close.
2021-03-10 14:00:24 +00:00
Edit the config to your needs and relaunch pluGET.
2021-03-08 21:26:44 +00:00
**Now you are good to go!**
2021-03-10 14:00:24 +00:00
2021-03-08 21:28:00 +00:00
## Usage
2021-03-11 13:35:29 +00:00
Execute the `launcher.bat` in the `\pluGET` folder. This will launch pluGET correctly.
2021-03-12 00:44:39 +00:00
Another way is to launch the `src\__main__.py` file.
2021-03-10 14:00:24 +00:00
The following are examples of input for the general usage:
2021-03-08 02:13:31 +00:00
(Hint: 'all' can always be exchanged through the plugin name or the plugin id and reverse)
2021-03-13 22:05:46 +00:00
#### Download the latest update of a specific package:
`get [pluginID/pluginName]`
2021-03-08 02:13:31 +00:00
```
2021-03-08 21:28:00 +00:00
get 'pluginID'
2021-03-08 02:13:31 +00:00
```
or:
```
2021-03-08 21:28:00 +00:00
get 'pluginName'
2021-03-08 02:13:31 +00:00
```
2021-03-13 22:05:46 +00:00
#### Check all plugins/one specific plugin for updates:
`check [all/pluginName]`
2021-03-08 02:13:31 +00:00
```
check all
```
2021-03-13 22:05:46 +00:00
or:
2021-03-08 02:13:31 +00:00
```
check 'pluginName'
```
2021-03-13 22:05:46 +00:00
#### Update all plugins/one specific plugin:
`update [all/pluginName]`
2021-03-08 02:13:31 +00:00
```
update all
```
2021-03-13 22:05:46 +00:00
or:
2021-03-08 02:13:31 +00:00
```
update 'pluginName'
```
2021-03-13 22:05:46 +00:00
#### Remove a plugin with the ID/Name:
`remove [pluginID/pluginName]`
2021-03-12 00:44:39 +00:00
```
remove 'pluginID'
```
2021-03-13 22:05:46 +00:00
or:
2021-03-12 00:44:39 +00:00
```
remove 'pluginName'
```
2021-03-13 22:05:46 +00:00
#### Search for a plugin:
`search [pluginName]`
```
search 'pluginName'
```
2021-03-08 21:26:44 +00:00
#### Exit program:
2021-03-13 22:05:46 +00:00
`exit [anything]`
2021-03-08 21:26:44 +00:00
```
exit .
```
#### Get link to here:
2021-03-13 22:05:46 +00:00
`help [anything]`
2021-03-08 21:26:44 +00:00
```
help .
```
## Known problems
### Can't get installed version
For example:
```
pluGET >> check all
Checking: all
Index | Name | Installed V. | Latest V. | Update available
[1] Vault N/A 1.7.3 False
```
This is a known issue because the filename in the `\plugin` folder doesn't include a version.
This is the plugin file in the `\plugin` folder right now: `Vault.jar`
How it should be: `Vault-1.7.3.jar`
Many plugins which get download from Spigot won't have a file version in the name.
#### How to solve:
Delete the `Vault.jar` file and download the newest version with the `get` command:
```
pluGET >> get vault
Index | Name | Description | Downloads
[1] Vault Vault is a Permissions, Chat, & Economy API to give plugins easy hooks into these systems. 989046
Select your wanted Ressource (Index)(0 to exit): 1
Downloadsize: 267.31 KB
File downloaded here: C:\Users\USER\Desktop\plugins\Vault-1.7.3.jar
```
Now you got the plugin with the correct name inside your `\plugin` folder: `Vault-1.7.3.jar`
And pluGET will tell you the installed version and check if an update is available when checking again:
```
pluGET >> check all
Checking: all
Index | Name | Installed V. | Latest V. | Update available
[1] Vault 1.7.3 1.7.3 False
```