This update, despite being only a Minor one, brings some significant changes to AdvancedServerList... Tho not necessarely as a plugin only.
AdvancedServerList moved to Codeberg.org
From this version onwards will AdvancedServerList be hosted on Codeberg.org instead of GitHub. There are various reasons, but the main one is, that I just like Codeberg more, even if GitHub with their GitHub Actions is quite nice.
What this means now is, that the GitHub Repository is semi-archived... It will still be open and I'll still manage issues there, but you won't receive active Updates there anymore and I hightly recommend to check Codeberg instead. Releases will (obviously) still be available on Modrinth and Hangar, just don't expect any releases on GitHub anymore.
Wiki has moved too
For the third time (First time was github wiki to github pages wiki and second time changing from andre601.ch/AdvancedServerList
to docs.andre601.ch/AdvancedServerList
) has the Wiki of AdvancedServerList moved.
You can now find it under https://asl.andre601.ch.
Pages on the former Wiki location (docs.andre601.ch/AdvancedServerList
) will have a banner at the top informing you about the move while also linking to the new place.
Tho, keep in mind that the pages may not be up-to-date here...
Changelog
Maintenance Plugin support
Added support for KennyTV's Maintenance plugin. If said plugin is loaded on the server will AdvancedServerList hook into its API to check if maintenance mode is enabled. If it is will it not manage the server list to avoid possible conflicts.
As of right now is there no logic in place to check on the proxy, whether maintenance mode only affects a specific server or not, so keep that in mind.
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.
⚠️ 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...
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.
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
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
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.