Releases: Andre601/AdvancedServerList
v3.3.0: Don't clear cache on plugin reload
This update includes the changes of the Previous Beta Version, so make sure to read it.
Changes to reload command
The /asl reload
command will no longer clear the Player and Favicon caches when used.
If you still want to clear the caches, use /asl clearcache
instead.
v3.3.0-b1: PAPIProxyBridge support and possible Favicon improvements
⚠️ WARNING: This is a BETA
Due to a lack of a proper server network was I unable to test out this plugin version. I'm confident that it will work, but I do not give any guarantees.
Make sure to create backups of your server!
PAPIProxyBridge support
This update implements support for the plugin PAPIProxyBridge which allows the usage of PlaceholderAPI placeholders on your BungeeCord or Velocity proxy.
Do note that AdvancedServerList requires at least version 1.3 of PAPIProxyBridge to work due to new methods being implemented by that plugin.
Favicon improvements
The FaviconHandler - the class responsible for the favicon creation and management - has received some changes.
The creation of the Favicon has been wrapped into a CompletableFuture, allowing asynchronous creation. Tho, this also means that if the CompletableFuture is not done yet when the plugin requests the favicon will null
be returned, which is treated as no favicon being applied.
This hopefully helps with Waterfall reporting the plugin being slow whenever a favicon is being used...
v3.2.1: NPE fix
There is a rare chance that gson.fromJson(Reader, Type)
will return null
in the PlayerHandler loading process, which causes an NPE to happen.
This should be fixed now and AdvancedServerList will print a warning about the JSON not being parsable, which seems to be the only explanation for this to occur.
v3.2.0: new server placeholder, playersOnline improvements and config backup system
This update brings a few minor improvements to the plugin.
New whitelistEnabled
placeholder
The Spigot/Paper version now has a new ${server whitelistEnabled}
placeholder. When used will it return true or false based on if the whitelist is enabled.
Multiple worlds/servers for playersOnline
The playersOnline
placeholder now allows to set multiple worlds/servers separated by spaces.
When multiple are provided will the placeholder combine each player count and return the total.
Config backups
The plugin will now make a backup of your old config whenever it makes a config migration. This should help restore an old config in case something breaks.
Should the backup fail will the entire config migration be cancelled.
Backups are stored in a dedicated backups
folder in the plugin's own directory and will have the format config_<ISO date>.yml
v3.1.0: Improved placeholders and new Paper-plugin.yml support
For Paper users
Paper introduced changes to the paper-plugin.yml
file in regards to the Dependencies declaration in more recent 1.19.4+ patches. What this means is, that this version of AdvancedServerList is only compatible with the latest releases of Paper for 1.19.4 and newer!
Trying to use it on any versions before these patches will result in an exception.
I cannot guarantee that the plugin works on any forks such as Purpur or Pufferfish, so make sure to check if they include these patches before using this version of AdvancedServerList.
Server placeholder changes
The Server placeholder now allows you to add an additional argument in the form of a world or server name (Depending on the platform you use it on).
This allows you to display the online players in a world or server, or the host used for a specific server.
Please refer to the wiki for more details.
Config Migrator
The main config.yml has received changes, mainly in terms of its formatting. This means the old config isn't compatible anymore.
Thankfully does the library used by AdvancedServerList offer a migration tool.
This means that it will automatically migrate the config to the new format while preserving existing settings.
However, a backup is still recommended.
Also, the migration will remove any existing comments within the config.yml
There is now a configVersion
setting. Do not edit this option! It determines whether the config needs an update or not.
New operators
~=
and !~
have been added as operands for the conditions.
~=
checks if the left value is equal to the right value, while being case-insensitive.!~
checks if the left value is not equal to the right value, while being case-insensitive.
Updated ASL API
The ASL API has been updated to v3.0.0
Full changelog can be found here
v3.0.2: Minor Spigot fix
This update fixes a small issue on Spigot servers where a NoClassDefFoundException
is thrown whenever the MOTD gets parsed.
This was because I used a convenience method from ProtocolLib that converts a Adventure component to a WrappedChatComponent. This method only works on servers natively implementing adventure (i.e. Paper).
The reason why it worked on older versions is unknown to me. My biggest guess is, that I accidentally included the adventure library in my plugin, which ProtocolLib would hook into.
Either way, this should be fixed now. Thanks to SlimeDog for reporting.
v3.0.1: Minor plugin improvements
This is a small update making some improvements to the code, while also fixing a few minor things.
Improvements
- Created a
BukkitCore<F>
class to extend theJavaPlugin
class and implement thePluginCore<F>
interface respectively.
This allowed me to simply provide the class instance for cases where either a JavaPlugin or a PluginCore instance was needed. - Made
AdvancedServerList
have a Type parameter (So it becameAdvancedServerList<F>
This was made to get rid ofPluginCore<?>
usage, which I wasn't a big fan of. - Unregister PlaceholderAPI expansion when plugin is disabling itself. This should allow support for using
/reload
(Although I do not recommend using that).
Fixes
- PlaceholderAPI expansion not being set as Persistent. It should now no longer be unregistered when using
/papi reload
- JoinEvent class not being registered as a Event listener
v3.0.0: Proper 1.19.4 release
This release is the first proper 3.0.0 release of AdvancedServerList.
If you didn't follow the previous releases is here a short summary:
- Support for PaperMC's new
Paper-plugin
system has been implemented. The two jars (Spigot and Paper) have been merged into one now. As of writing this has the Paper module - after being kept for a while - been removed. - Fixes have been made towards Spigot compatability (More precisely with protocollib).
Other changes have recently been made too. In detail, a "HangarUploader" module was made, which houses the code of a Jar file made to upload the jar files to the Hangar Website automatically.
Big thanks to all the @HangarMC team members that helped me in getting this to work. If you're reading this on Hangar, does it mean the application worked!
Additionally have dependencies been improved. The Bukkit jar is no longer almost 8MB but instead around 1.15MB. The other jars - to my knowledge - received little to no size reduction.
Funfact (Actually sad fact)
This is the 7th time I make the release
v3.0.0-b2: Update API and fix Spigot issues
This update fixes #67 on Spigot 1.19.4
The issue was, that The Server List Ping stuff of MC is now a record, which is unmodifiable, meaning that I simply can't get the ping, alter it and then ignore.
So this change writes the changed ping back into ProtocolLib to properly update the Server List entry.
It also updates some dependencies including the ASL API, which is now 2.1.0. Please read the API Changelog here.
Note that I still publish this as beta as I still want to be sure to have all bugs removed before making a full update later on.
v3.0.0-b1: Support for Paper-plugin loading system.
FOR SPIGOT AND PAPER USERS
This update is a BETA, so expect possible bugs and issues and Make backups of your server and plugin configurations!
While I did test the plugin on 1.19.4 and it working will I not guarantee that it won't break, so be careful with it and always report issues to me on GitHub!
What changed?
This update adds support for PaperMC's all new Paper plugin system. This system allows a plugin to define a separate YAML file for different configurations to be loaded and used, making a merged jar a lot easier.
Because of this is AdvancedServerList no longer shipping a separate Paper and Spigot jar but instead a Bukkit jar that works on both platforms.
Please note that the Paper plugin feature only exists since the latest 1.19.3 and 1.19.4 releases and is still considered experimental.
On older versions will AdvancedServerList load like a Spigot plugin (including the Paper notice banner). This won't be removed nor fixed.
As a final note will I keep the paper
module until the next non-patch release, so if you want to build the old paper plugin can you clone this repository and execute mvn --projects :core,:paper clean install
in the root-directory to build the core and paper module.
Please let me know about any issues you encountered!