Skip to content
This repository has been archived by the owner on Apr 9, 2024. It is now read-only.

Releases: Andre601/AdvancedServerList

v2.2.0: Added PlaceholderAPI placeholders.

17 Mar 00:32
116714f
Compare
Choose a tag to compare

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

01 Feb 14:51
Compare
Choose a tag to compare

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

23 Jan 20:14
d3673a7
Compare
Choose a tag to compare

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:

code
configuration
example

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

10 Jan 19:48
3859f29
Compare
Choose a tag to compare

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

09 Jan 19:34
8f9ae4a
Compare
Choose a tag to compare

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

28 Dec 16:00
Compare
Choose a tag to compare

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

27 Dec 21:00
7da8877
Compare
Choose a tag to compare

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

20 Dec 21:28
f5d2fd1
Compare
Choose a tag to compare

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

09 Dec 21:30
Compare
Choose a tag to compare

This is a smaller release that updates the following dependencies:

  • adventure-api from 4.11.0 to 4.12.0
  • adventure-text-minimessage from 4.11.0 to 4.12.0
  • adventure-text-serializer-legacy from 4.11.0 to 4.12.0
  • adventure-platform-bukkit from 4.1.2 to 4.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

08 Dec 21:05
c8acb4d
Compare
Choose a tag to compare

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.