Releases: Andre601/AdvancedServerList
v2.2.0: Added PlaceholderAPI placeholders.
This update adds a new set of Placeholders you can use in PlaceholderAPI.
Obviously can they only be used on the Spigot and Paper version, so keep that in mind.
A full list can be found here: https://www.andre601.ch/AdvancedServerList/placeholderapi/
v2.1.0: Improved API and Events
Please note
Despite this being a minor version bump does it contain breaking changes due to the API being updated from v1 to v2 which has its own set of breaking changes (See this Release for details)
Also, while the plugin has been tested using the asl-mockup
plugin could there be bugs and compatability issues. Please report them when you encounter any.
Removed API module
The api
module has been removed. Instead is the separate asl-api
repository used for the actual API stuff, meaning that the plugin will now use the same API as you would when hooking into it.
Added PreServerListSetEvent
This event is fired whenever AdvancedServerList is about to alter the server list for a player. It allows you to modify the used ProfileEntry or even cancel the event to not have the server list changed.
Fixed =
condition not working when surrounded by spaces
If you had a =
(equals) condition and the =
was surrounded by spaces would this break the check, as an expression like value1 = value1
would check "value1 "
with " value1"
which obviously aren't equal.
The plugin now removes any leading and trailing spaces from the left and right side of the expression before evaluating the condition.
v2.0.0: The API update
This is a HUGE update as it brings a lot of changes to AdvancedServerList, including a brand new API to hook into!
New API
A completely new API has been created to allow plugins to provide their own placeholders to parse in AdvancedServerList.
How you can hook and use this API is explained on the new Wiki here: https://www.andre601.ch/AdvancedServerList/api/
AdvancedServerList is using this API internally for the player and server placeholders you can already use.
A mockup paper plugin is also available for you to see how it could look like. I've tested it and it works:
New Wiki
As mentioned is there also a new wiki you can visit. The old one - while working fine - simply wasn't nice in terms of look or available features. With the new wiki I can customize it more.
The link is - again - https://www.andre601.ch/AdvancedServerList/
The source of this wiki is also in this repository, located under the docs/
directory. PRs always welcome if they improve things.
I really hope this update brings new functionality to AdvancedServerList. I've put a lot of effort into it. I started this over a month ago and am really happy now to publish it.
My next goals are to expand the API further... If you have any ideas, let me know. I'm always open for feedback!
v1.11.0: Improve Player caching
This update improves the way players are cached. It brings somewhat breaking changes.
New Player caching
AdvancedServerList now stores cached players as a JSON Array of JSON objects in a playercache.json
file.
When a player joins your server/network will it now collect and save the following information when disabling:
- IP for identification
- Player name
- Player UUID
A quick example using myself (actual file would be minified by Gson):
[
{
"ip": "127.0.0.1",
"name": "Andre_601",
"uuid": "286f8d0c-b571-4720-b7ab-f2929cb38120"
}
]
Placeholder changes
With the above changes are there also changes to the available placeholders.
Namely, ${player uuid}
can now be used across all platforms and not just Spigot/Paper like in the previous versions.
In addition was a new option called unknown_player_uuid
added to the config.yml. This String option would have the UUID used for ${player uuid}
should the pinging player be unknown (not cached) by AdvancedServerList yet.
It defaults to 606e2ff0-ed77-4842-9d6c-e1d3321c7838
which is the UUID of MHF_Question.
OfflinePlayer handling in Spigot and Paper
With the Cache changes were also changes made to how AdvancedServerList obtains OfflinePlayer instances. It now uses UUID instead of player names to obtain an OfflinePlayer instance.
Please let me know if this has any unwanted side-effects for you.
What comes next?
The next major plan is to release v2 of AdvancedServerList, which brings an API for providing your own Placeholder values! You can check out #38 for further info and progress (Spoiler: It's pretty much done by now).
v1.10.2: Fix NPEs
This update should fix some NullPointerExceptions caused by Boolean
being nullable.
It now uses a own class to guarantee a not-null value being returned.
v1.10.1: Add better version checking
This update adds a better Version check system to replace the other one.
The main issue with the old one was/is, that it only expects n.n.n
patterns, so a version like the previous one (1.10.0-b1
) would break it.
Additionally have I removed some debug lines I left in by accident. Sorry for the console spam.
I also consider this a proper release now!
v1.10.0-b1: Support for multiple profiles in one profile
This update is a rather big one, as it adds a new profiles
option to the serve list profile.
Profiles
The Server List profile can now have a profiles
option. This is a list that contains the different Options in a server list profile.
As an example:
profiles:
- motd:
- Line 1
- Line 2
playerCount:
text: Hey!
is the same as...
motd:
- Line 1
- Line 2
playerCount:
text: Hey!
The main differences are...
- You can have multiple entries.
- Whenever an option is not set in a entry, will the global one (The option you usually have in the file) be used as replacement. This allows you to only modify specific parts while keeping others the same.
Breaking changes!
There are unfortunately breaking changes to this release.
The previously introduced motds
option has been removed in favour of this new option. This means that motd
is the default again and no longer deprecated.
I've written a small migration guide for those that used the motds
option to see how they can migrate.
Link: https://github.com/Andre601/AdvancedServerList/wiki/Migrate-from-v1.9.0-to-v1.10.0
v1.9.0: Support for multiple MOTDs
You can now add multiple MOTDs to a Server list profile.
To not break compatability with the motd
option is this new feature available as a separate option called motds
that takes priority over motd
if both are present.
Note that the syntax is a little bit different for this option. Instead of each entry being a line is each entry the MOTD, meaning you have to use the |-
option of YAML like this:
motds:
- |-
MOTD 1
One of the MOTDs
- MOTD 2
Another MOTD
v1.8.1: Update dependencies
This is a smaller release that updates the following dependencies:
adventure-api
from4.11.0
to4.12.0
adventure-text-minimessage
from4.11.0
to4.12.0
adventure-text-serializer-legacy
from4.11.0
to4.12.0
adventure-platform-bukkit
from4.1.2
to4.2.0
Note that the plugin does Support 1.19.3 without any changes needed. At most will you need to update ProtocolLib if you're using the Spigot version (Also, the adventure-platform-bukkit update may be required here for chat).
v1.8.0: Unified Event Handler
This update changes the event handling for the ping events used on the servers and proxies.
Previously did each platform version have its own handling of the event, resulting in a lot of repeated code. This has now been moved to a central class to be handled by, allowing the amount of duplicate code to be reduced significantly.
You shouldn't notice any real difference. If you do, report it on the issue tracker or in my Discord Server.