Reload plugins - Unload unused commands - PluginWatcher - Command/PluginInfo - Automatic Updater - "Plugman Alternative"
Find a file
Phil Gibson b51ff445dd
Fix watched plugins reloading without ensuring the file has fully uploaded first (#8)
* build: add Apache codec library

Utilise the Apache commons codec library, which has file hashing and checking functions. This will be useful for a fix on hotreloading plugins.

* feat: run tasks later on taskmanagers

Add the ability to run tasks at a later date on task managers.
This is expressed in ticks for bungeecord and bukkit, and is converted to milliseconds for bungeecord.

* feat: add method to get hash of file

Add a method to get the MD5 hash of a file.

* fix: watching plugins waits until the plugin has finished uploading

If a watched plugin is changed, it will no longer immediately reload the plugin. Instead, it will check every 10 ticks (500 milliseconds for BungeeCord) to see if the file MD5 checksum has changed.

If it hasn't, then we can presume the file upload has completed and reload the plugin.

* build: bump version to 2.5.1

* build: relocate apache codec

Relocate the Apache Codec to avoid dependency clashes

* perf: remove unnecessary task call
2021-02-03 20:36:31 +01:00
.github/workflows Parallel gradle builds + explicit output directory 2021-01-08 10:22:07 +01:00
Bukkit Fix watched plugins reloading without ensuring the file has fully uploaded first (#8) 2021-02-03 20:36:31 +01:00
Bungee Fix watched plugins reloading without ensuring the file has fully uploaded first (#8) 2021-02-03 20:36:31 +01:00
Common Fix watched plugins reloading without ensuring the file has fully uploaded first (#8) 2021-02-03 20:36:31 +01:00
config/checkstyle Update dependencies 2020-12-19 15:19:23 +01:00
gradle/wrapper Add github actions 2020-12-04 14:08:40 +01:00
.gitignore Parallel gradle builds + explicit output directory 2021-01-08 10:22:07 +01:00
build.gradle Fix watched plugins reloading without ensuring the file has fully uploaded first (#8) 2021-02-03 20:36:31 +01:00
gradle.properties Parallel gradle builds + explicit output directory 2021-01-08 10:22:07 +01:00
gradlew Initial commit 2020-06-02 21:07:31 +02:00
gradlew.bat Initial commit 2020-06-02 21:07:31 +02:00
LICENSE Create LICENSE 2020-06-02 23:01:37 +02:00
README.md Update README.md 2021-01-30 16:58:45 +01:00
settings.gradle Update dependencies 2020-12-19 15:19:23 +01:00

ServerUtils

ServerUtils allows you to manage your plugins in-game. Featuring reloading, unloading and loading of plugins from your plugins folder at runtime. ServerUtils also has handy methods to lookup commands and plugins, and provides you with handy information about them.

For the full description of this plugin, please refer to the ServerUtils SpigotMC page.

releaseImg GitHub Actions licenseImg featureRequestsImg bugReportsImg spigotRatingImg spigotDownloadsImg

Discord

bStatsImg

How to run the project?

  1. Make sure you have gradle installed.
  2. Run the project with gradle clean build to compile all submodules with dependencies.
  3. Afterwards, the platform specific plugins and platform independent compiled jars can be found in the jars/ directory.

API Repository / Dependency

Please use the following maven repository:

Gradle:

maven { url 'https://jitpack.io' }

and as dependency:

// Replace VERSION with for example 2.5.0
compileOnly 'com.github.FrankHeijden:ServerUtils:VERSION'

Maven:

<repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
</repository>

and as dependency:

<dependency>
    <groupId>com.github.FrankHeijden</groupId>
    <artifactId>ServerUtils</artifactId>
    <!-- Replace VERSION with for example 2.5.0 -->
    <version>VERSION</version>
    <scope>provided</scope>
</dependency>

Commands and Permissions

Please refer to the SpigotMC page for an updated overview of the commands and permissions.