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!
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).
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!
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