This is a rather embarassing update for me...
AdvancedServerList has been using the wrong protocol version for the ${player protocol}
placeholder. Instead of actually using the protocol the player uses, it used the protocol the proxy was using.
This could mean that the protocol returned could be different, depending on whether servers were connected to the proxy or not. This should hopefully be fixed now.
Clarification on BungeeCord/Waterfall support
My last post on this was unfortunately not to well written and may have caused confusion, so I take the oportunity to clarify this a bit now:
AdvancedServerList will keep support for BungeeCord, Waterfall and whatever other fork it may support here. However! Should there be any major breaking changes in the future (Which I doubt given BungeeCords conservative aproach on those) will I not try to fix those breaking changes and instead drop support altogether.
This means that for as long as the API doesn't introduce breaking changes, AdvancedServerList will support it.
There was a mistake in the LibertyBans placeholder, which would've resulted in the placeholder not being handled properly. It should be fixed now.
State on BungeeCord/Waterfall support
PaperMC announced the End of Life for Waterfall, meaning it won't receive proper updates and/or support anymore.
Regarding AdvancedServerList's support for it will I say this: BungeeCord and Waterfall remain supported by me, but I may not work on proper updates in the future, should there be breaking changes.
If you can, use Velocity instead, as it offers much better performance and security compared to BungeeCord.
This update adds a new Event called PostServerListSetEvent
to the plugin. Its main purpose is to allow other plugins to know when AdvancedServerList is "done" with updating the Server List.
It also provides a Getter to retrieve the ProfileEntry that was used during the PingEvent. Do note tho that said ProfileEntry is not a representation of the final server list content, but just what has been used during the PingEvent. It can also be null, should the PingEvent handling get cancelled.
New config options have been added to allow you to set what options of a server list profile AdvancedServerList should not modify when the Maintenance plugin is active (Maintenance is enabled).
These are the new options and their default values:
disableDuringMaintenance:
motd: true
favicon: true
hidePlayers: true
playerCountText: true
playerCountHover: true
extraPlayers: true
maxPlayers: true
The config should, as always, be automatically migrated and these new options added. And to be clear: Setting an option to true
disables it while maintenance mode is active.
Thanks to EpicPlayerA10 on Codeberg for the initial Pull request and idea.
The ${server playersOnline}
placeholder now won't include players anymore, which are currently vanished. Right now does only the Paper version support most vanish plugins, by checking for the vanished
Metadata in the player.
The BungeeCord and Velocity version use the API of PremiumVanish for this, so keep this in mind.
Additionally has the way of parsing own placeholders been merged, as it was separated for conditions and everything else. I tested it and it works, but I would appreciate if you can report any issues to me, should you encounter some strange parsing errors.
This is a smaller update that changes how AdvancedServerList reports wrong/invalid conditions when evaluating them.
The new error is now one of two possible structures.
It's either:
[00:00:00 WARN]: [AdvancedServerList] Encountered 1 Error(s) while parsing condition for file 'default.yml':
[00:00:00 WARN]: [AdvancedServerList] - "Something" == ${invalid placeholder}
[00:00:00 WARN]: [AdvancedServerList] -> Placeholder '${invalid placeholder}' does not have any available PlaceholderProvider
when no exact location is known or
[00:00:00 WARN]: [AdvancedServerList] Encountered 1 Error(s) while parsing condition for file 'default.yml':
[00:00:00 WARN]: [AdvancedServerList] - At Position 15:
[00:00:00 WARN]: [AdvancedServerList] "Something" == ${invalid placeholder}
[00:00:00 WARN]: [AdvancedServerList] ^
[00:00:00 WARN]: [AdvancedServerList] -> Placeholder '${invalid placeholder}' does not have any available PlaceholderProvider
if the location is known.
The BanPlugins addon has been updated to now also support LibertyBans. This also add support for the Velocity platform in the plugin by supporting LibertyBans.
Please report any issues you encounter with this add-on as adding support was a bit complicated for me due to LibertyBans significantly more complex API.