The essential plugin suite for Minecraft servers.
Go to file
Josh Roy 10fa3b5a31
Add update checker (#3855)
Co-authored-by: MD <1917406+mdcfe@users.noreply.github.com>

Adds an update checker to Essentials that will check for the latest version on startup, on player join (permission is `essentials.updatecheck`), or manually with `/ess version`.

On startup, the update checker will fetch build information from a resource generated at compile time and determine if the build is a dev or stable build. If it's a stable build, the update checker will only check for a new release; while a dev build will check for any new commits.

There are 6 different types of messages the update checker will return;
* Identical: The current build is the latest stable release or latest dev build. This message is only shown in the `/ess version` command.
* Behind: If the current build is stable, it's an entire stable build behind, otherwise it's one or more dev builds behind.
* Diverged: The current build was made from a branch other than `2.x` and is also one or more dev builds behind the latest commit on `2.x`.
* Diverged Latest: The current build was made from a branch other than `2.x` but is based on the latest commit from `2.x`.
* Unknown: The current build either has invalid build information or was customly built. This message is show everywhere but on player join.
* Error: There was an error while fetching the latest version information.

Update checks can be disabled using the `update-check` option in `config.yml`.
2021-03-06 16:29:42 +00:00
.checkstyle Refactor Project to Gradle (#3720) 2020-11-25 20:24:24 +00:00
.github Update issue template for new config format (#3982) 2021-02-15 11:51:26 +00:00
.idea Fix AlternativeCommandsHandler not detecting some aliases (#3856) 2020-12-30 11:59:38 -08:00
Essentials Add update checker (#3855) 2021-03-06 16:29:42 +00:00
EssentialsAntiBuild Fix AntiBuild performing place checks for block state changes (#3914) 2021-02-05 19:44:43 +00:00
EssentialsChat Add /toggleshout command (#3965) 2021-02-20 16:37:16 +00:00
EssentialsGeoIP Relocate GeoIP dependencies (#3976) 2021-02-10 09:27:56 -05:00
EssentialsProtect Fix respawn anchor explosion protection (#3778) 2020-12-02 19:43:01 +00:00
EssentialsSpawn Add option to disable players respawning at beds (#3802) 2021-01-01 22:02:55 -05:00
EssentialsXMPP Document XMPP config and require server TLS by default (#4002) 2021-02-21 10:46:32 -05:00
gradle/wrapper Refactor Project to Gradle (#3720) 2020-11-25 20:24:24 +00:00
providers Add support for commands.yml aliases in command cooldowns (#3744) 2021-02-20 16:30:07 +00:00
.gitignore Refactor Project to Gradle (#3720) 2020-11-25 20:24:24 +00:00
CONTRIBUTING.md Add new PR templates and revamp issue templates (#3711) 2020-10-23 00:19:04 +01:00
LICENSE Added License info. Essentials is GPLv3 2011-05-13 19:58:30 +00:00
README.md Update to 1.16.5 (#3923) 2021-01-16 01:56:56 -05:00
build.gradle Add update checker (#3855) 2021-03-06 16:29:42 +00:00
crowdin.yml Refactor Project to Gradle (#3720) 2020-11-25 20:24:24 +00:00
gradle.properties Fix AlternativeCommandsHandler not detecting some aliases (#3856) 2020-12-30 11:59:38 -08:00
gradlew Mark gradlew as executable 2020-11-25 20:37:45 +00:00
gradlew.bat Refactor Project to Gradle (#3720) 2020-11-25 20:24:24 +00:00
settings.gradle Refactor Project to Gradle (#3720) 2020-11-25 20:24:24 +00:00

README.md

EssentialsX

Dev Builds

Discord

Patreon

This is a fork of Essentials called EssentialsX.

If you are using this, do NOT ask Essentials for support.

The official upstream repository for the original Essentials project is at https://github.com/Essentials/Essentials.

Why use EssentialsX?

EssentialsX is an unofficial continuation of Essentials, updated to support modern Minecraft and Spigot versions. It provides several performance enhancements and fixes that are currently not available in Essentials and Spigot-Essentials. For more details, see the wiki.

EssentialsX is almost a completely drop-in replacement for Essentials. However, it has different requirements:

  • EssentialsX requires Vault to enable chat prefix/suffixes and group support if you have a supported permissions plugin. We recommend using LuckPerms.

  • If you have an unsupported permissions plugin but still wish to use wildcards, enable use-bukkit-permissions in the configuration. Otherwise, the plugin will fall back to config-based permissions.

  • EssentialsX requires Java 8 or higher. On older versions, the plugin may not work properly.

  • EssentialsX supports Minecraft versions 1.8.8, 1.9.4, 1.10.2, 1.11.2, 1.12.2, 1.13.2, 1.14.4, 1.15.2, and 1.16.5.

Support

Need help with using EssentialsX? Join the MOSS Discord community to ask for help and discuss EssentialsX.

If you need to report a bug or want to suggest a new feature, you can open an issue on GitHub.

Building

To build EssentialsX, you need JDK 8 or higher installed on your system. Then, run the following command:

./gradlew build

...or if you're on windows run the following command:

gradlew build

Each module's jar can be found in build/libs/ inside each module's directory or in jars/.

Using EssentialsX in your plugin

Do you want to integrate with EssentialsX in your plugin? You can use the EssentialsX Maven repo to build against EssentialsX's API.

Releases are hosted on the Maven repo at https://repo.essentialsx.net/releases/, while snapshots (including dev builds) are hosted at https://repo.essentialsx.net/snapshots/.

To add EssentialsX to your build system, you should use the following artifacts:

Type Group ID Artifact ID Version
Older releases net.ess3 EssentialsX 2.18.2
Snapshots net.essentialsx EssentialsX 2.19.0-SNAPSHOT
Future releases net.essentialsx EssentialsX 2.19.0

Note: up until 2.18.2, EssentialsX used the net.ess3 group ID, but starting with 2.19.0 snapshots, the group ID is now net.essentialsx. When updating your plugin, make sure you use the correct group ID.

You can find more information and examples at the wiki.

Contributing

Want to help improve EssentialsX? There are several ways you can support and contribute to the project.

If you'd like to make a financial contribution to the project, you can join our Patreon, or to make a one-off donation you can visit our Ko-fi page. If you can't make a donation, don't worry! There are lots of other ways to contribute:

  • Do you run a server? Take a look at our "help wanted" and "bug: unconfirmed" issues, where you can find issues that need extra testing and investigation.
  • Do you speak multiple languages? If so, we always welcome contributions to our Crowdin project.
  • Do you enjoy helping others? If so, why not contribute to the EssentialsX documentation? You can also join the MOSS Discord community and provide direct community support to other EssentialsX users.
  • If you're a developer, you could look through our "open to PR" issues. We're always happy to receive bug fixes and feature additions as pull requests.

See CONTRIBUTING.md to find out more.