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

Profiles

Andre_601 edited this page Sep 8, 2022 · 33 revisions

About

Note

This page is about Profiles for v1.6.0 and newer!
For v1.5.3 visit this page.

AdvancedServerList allows you to create multiple "profiles".
A Profile is simply a YAML file that contains a priority, conditions, motd, player list and/or player count.

With the exception of priority are all other settings optional, tho at least one of motd, players or playerCount needs to be set to have a valid profile configuration.

Options


Formatting

The following information can be applied to all text options available, with the exception of conditions not supporting MiniMessage formatting.

MiniMessage

AdvancedServerList uses MiniMessage from Kyori Adventure to format text.
While the MOTD option supports more advanced formatting such as HEX colours, gradients and translatable lines, are only basic color and formatting codes such as <red> or <bold> supported for players and playerCount.

The following MiniMessage features are NOT supported for any kind of config option:

  • Hover Actions (Show text, show item, etc.)
  • Click Actions (Execute command, suggest command, etc.)
  • Custom Fonts (May work, but would require an already active resource pack with the font)

Also, remember that features such as HEX colours only work on a 1.16+ server/proxy and will be downsampled to normal colors on older versions by the Adventure library.

Placeholders

AdvancedServerList supports a placeholder pattern adopted from BungeeTabListPlus, meaning the general format is ${<target> <identifier>}.
Placeholders can be used in all options except for Priority.

Please make sure to read the Notes about possible limitations.

Placeholder Notes Platforms Requires cached player?*
${player name} The name of the player. All Yes**
${player protocol} The protocol version the player uses. All No
${player version} The version the player uses displayed as MC version. Velocity No
${player hasPlayedBefore} Whether the player has played before on the server. Spigot/PaperMC Yes
${player isBanned} Whether the player has been banned from the server. Spigot/PaperMC Yes
${player isWhitelisted} Whether the player has been whitelisted on the server. Spigot/PaperMC Yes
${player uuid} The UUID of the Player. Spigot/PaperMC Yes
${server playersOnline} The number of online players. All No
${server playersMax} The number of players that can join. All No
${server host} The domain/IP the player pinged. All No
Any PlaceholderAPI placeholder*** uses the default %<identifier>_<values>% format. Spigot/PaperMC Yes

*When Yes, requires the player to have joined before while AdvancedServerList was running to have them "cached"
**Defaults to the text set in unkown_player in the config.yml when the player hasn't been cached yet.
***Cannot be used in Conditions


Note

In order for a Server List Profile to be considered "valid" will you need to set a Priority AND add AT LEAST one of the following options:

  • MOTD with at least one line of text.
  • Favicon with a non-empty String.
  • HidePlayers with value true.
  • Hover with at least one line of text.
  • Text with a non-empty String.

Only when these requirements are met will the server list profile be counted as valid and used.


Priority

Type: Integer

Sets the priority for this profile. When checking available profiles will AdvancedServerList go through each in order of priority, starting with the highest number.
It will go through each file until it finds one that has conditions returning true (Default when no conditions are set).

This means if you have a file with priority 0 and a condition that checks if a player uses 758 (MC 1.18) or older and another file with priority 1 and no condition will AdvancedServerList use the second file, even when the said player uses MC 1.18.

Conditions

Type: String List

Allows you to define a collection of conditions that need to be met in order to have the profile displayed.
This setting works best with a higher priority to make sure it is checked first before any other file.

Only when all conditions return true will the profile be shown.

Operants

The following operands are supported:

Operant Description
< Checks if X is less than Y. In the case of non-integers will it simply compare the lengths of each string.
<= Checks if X is less than OR equal to Y. In the case of non-integers will it simply compare the lengths of each string.
> Checks if X is larger than Y. In the case of non-integers will it simply compare the lengths of each string.
>= Checks if X is larger than OR equal to Y. In the case of non-integers will it simply compare the lengths of each string.
= Checks if X and Y are equal.
!= Checks if X and Y are NOT equal.

Important!
Due to how expressions are currently parsed can you only use one operant per entry!

MOTD

Type: String List

Allows you to set the MOTD to display in the server list.
The plugin will only use the first two lines provided. Any extra ones will be ignored.

Basic colours such as <aqua> but also HEX colours (1.16+ only) and Gradients are supported through the MiniMessage format.

Favicon

Type: String

Gives you the option to override the favicon with a different one.

Supported are:

  • Valid URL pointing towards an image
  • ${player name} placeholder to display the avatar of a player. Uses https://mc-heads.net for this.
  • Name of a file located in the favicons folder (i.e. example.png).
    The provided name has to end with .png and needs to be a valid PNG file.

AdvancedServerList will try to rescale the images to 64x64 pixels, so it's recommended to use an image with these dimensions.

PlayerCount

Contains settings related to the player count (The text next to the ping that displays online players and how many can join at most).

HidePlayers

Type: Boolean

When set to true will the player count be replaced with ??? and no players/text is shown when hovering over it.
Please note that when this is enabled will any other playerCount setting (With Exception for extraPlayers) be ignored.

Hover

Type: String List

Allows you to set a List of lines to display instead of the usual online players when hovering over the player count text.

Text

Type: String

Allows you to override the <online>/<max> text usually displayed on the player count.
Keep in mind that when used will the Server appear as "outdated" for your client. This is intentional as we modify the "outdated client" message to display the custom text.

Note that only basic colour and formatting codes such as <aqua> or <bold> are supported.

ExtraPlayers

Contains settings to modify the Max player count.

Enabled

Type: Boolean

When set to true will the plugin modify the max player count by taking the current number of online players and adding amount to it.

Amount

Type: Integer (Whole number)

When Enabled is set to true will AdvancedServerList take the number of online players and add the provided amount to it to then use as the max player count.
This means that with 10 players online and amount set to 1, will the player count - if unmodified - be displaying 10/11 and with -1 10/9

Note:
This option will also modify the ${server playersMax} option with exception for when it is used in Conditions