Configuration files
All related to configuration files (*.conf) from EnhancedGlist
Main configuration file
This documentation is for v2 version, unfortunately v1 is no longer maintained.
Main configuration file contains most of the features of EnhancedGlist and you can edit this by editing config.conf file located inside of the data folder of EnhancedGlist.
Default configuration file should look something similar to this:
Content of default config.conf file
do-not-edit-this {
# Do not edit this
config-version="BUILD_COMMIT_HASH"
}
commands {
glist {
# Label to use for /glist command
label="glist"
# Permission required to execute /glist command
permission="egl.commands.glist"
# Optional, define aliases for /glist command
aliases=["globalist"]
# If enabled, a GUI will be displayed when a player executes this command
# If disabled, data will be displayed in chat
# To use this feature you must add Protocolize to your proxy:
# https://www.spigotmc.org/resources/protocolize-protocollib-for-bungeecord-waterfall-velocity.63778/
use-gui-menu=true
}
slist {
# Label to use for /slist command
label="slist"
# Permission required to execute /slist command
permission="egl.commands.slist"
# Optional, define aliases for /slist command
aliases=["serverlist"]
# If enabled, a GUI will be displayed when a player executes this command
# If disabled, data will be displayed in chat
# To use this feature you must add Protocolize to your proxy:
# https://www.spigotmc.org/resources/protocolize-protocollib-for-bungeecord-waterfall-velocity.63778/
use-gui-menu=true
}
egl {
# Label to use for /egl command
label="egl"
# Permission required to execute /egl command
# Warning!!! This is a privileged command, only give this permission to administrators.
permission="egl.commands.egl"
# Optional, define aliases for /egl command
aliases=["serverlist"]
}
}
general {
# Prefix for chat messages
prefix="EGlist >"
# Supported languages: en (english), es (spanish)
language="en"
# Players per row (/slist)
players-per-row=2
# Players to display per page (/slist)
players-per-page=16
# Cache configuration
cache {
# Cache players that are connected in a certain server (/slist)
server-players {
# Set true to enable this cache
enable=true
# Number of seconds to keep the cache, after this period cache will be refreshed
time=20
}
}
# If empty servers should be hidden (when server has no players connected)
hide-empty-servers=true
# Number of servers to display on each page (/glist)
servers-per-page=8
# The number of players required to display a server (/glist), set 0 to always display empty servers.
min-players-required-to-display-server=0
# If server names should be displayed as uppercase (/glist and /slist)
display-server-name-uppercase=false
}
behavior {
# Related to vanish
vanish {
# If vanish should be handled by plugin
enable=true
# If vanished players should be hidden, useful if you want /glist to be used by players.
hide-vanished-users=true
# Permission to allow a player to see vanished players in /glist
hide-bypass-permission="egl.bypass.vanish.hide"
}
# Related to AFK state
afk {
# If AFK state should be handled by plugin
enable=true
}
}
# Updater configuration
updates {
# If plugin should check for new updates
check-for-updates=true
# Period to check for updates in seconds
check-interval=300
# Notifications
notify {
# Notify when a player joins to proxy
on-join {
# Enable this notification
enable=true
# Milliseconds to delay update message sent in chat (if an update is available)
delay=2500
# Only players with this permission can see the update message (if an update is available)
permission="ebcl.update.notify"
}
# Console notification
console {
# Enable this notification
enable=true
# Notification interval in seconds
notification-interval=1800
}
}
}
# Servers to ignore, all servers in this list will be hidden from /glist
# Also ignored servers will not be taken in account for server groups.
ignore-servers {
# Ignore servers by exact name
by-name=[
"login1",
"login2",
"login3"
]
# Ignore servers that match RegEx pattern
# You can use this tool to test a RegEx expression: https://regexr.com/
by-pattern=[
"login.*"
]
}
# Group servers, useful if you have multiple instances of a same server
group-servers {
# Example: lobby1, lobby2, lobby3 and lobby4 servers will be grouped as one server named "lobby"
lobby=[
"lobby1",
"lobby2",
"lobby3",
"lobby4"
]
# Example: all servers that start with "bedwars-lobby" and "bedwars-game" will be grouped as one server named "bedwars"
bedwars {
# RegEx pattern.
# You can use this tool to test a RegEx expression: https://regexr.com/
patterns=[
"bedwars-game.*",
"bedwars-lobby.*"
]
}
}
Configuration properties
do-not-edit-this
This section is used by EnhancedGlist to know the current state of configuration and apply updates if needed, you should never edit this.
commands
glist
Settings related to /glist command.
Property
Default Value
Description
label
glist
Label to use for /glist command.
permission
egl.commands.glist
Required permission to execute /glist command
aliases
["globalist"]
Aliases to use for /glist command.
use-gui-menu
true
If /glist should use a GUI menu instead of chat messages to display information. This is only applied when Protocolize is available in your server, see Installation page for more information.
slist
Settings related to /slist command.
Property
Default Value
Description
label
slist
Label to use for /slist command.
permission
egl.commands.slist
Required permission to execute /slist command
aliases
["serverlist"]
Aliases to use for /slist command.
use-gui-menu
true
If /slist should use a GUI menu instead of chat messages to display information. This is only applied when Protocolize is available in your server, see Installation page for more information.
egl
Settings related to /egl command.
Property
Default Value
Description
label
slist
Label to use for /slist command.
permission
egl.commands.slist
Required permission to execute /slist command
aliases
["serverlist"]
Aliases to use for /slist command.
general
Property
Default Value
Description
prefix
EGlist >
Prefix to use to identify plugin in chat messages.
language
en
Language to use for messages, see Available translations .
players-per-row
2
Number of players to display on each line of chat when player list is displayed using /slist command.
Note that this setting is not applicable for GUI, this is only applicable if you are not using the GUI System or if you uses /slist command from console, since console cannot render GUI.
players-per-page
16
Number of players to display on each page for /slist command.
Note that this setting is not applicable for GUI, this is only applicable if you are not using the GUI System or if you uses /slist command from console, since console cannot render GUI.
hide-empty-servers
true
Enable this to hide empty servers if server does not have the minimum amount of players required to be displayed ( min-players-required-to-display-server ). Note that this setting is not applicable for GUI, this is only applicable if you are not using the GUI System or if you uses /slist command from console, since console cannot render GUI.
min-players-required-to-display-server
0
Min players required to display a server in the servers list for /glist command. Note that this setting is not applicable for GUI, this is only applicable if you are not using the GUI System or if you uses /glist command from console, since console cannot render GUI.
servers-per-page
8
Number of servers to display on each page for /glist command. Note that this setting is not applicable for GUI, this is only applicable if you are not using the GUI System or if you uses /glist command from console, since console cannot render GUI.
display-server-name-uppercase
false
If server names should be displayed in uppercase.
cache
server-players
Cache to retain the player list of a server when /slist command is used. This cache is intended for an easy read of player list, especially when server has a high player concurrency.
Note that this setting is not applicable for GUI, this is only applicable if you are not using the GUI System or if you uses /slist command from console, since console cannot render GUI.
Property
Default Value
Description
enable
true
If cache should be used, if you disable this, every /slist command execution will use the real player list but this can be hard to read if server has a high concurrency of players.
time
20
Time in seconds to keep cache, after this time cache will be refreshed.
behavior
vanish
Property
Default Value
Description
enable
true
If enabled, EnhancedGlist will handle Vanish updates from players. Note that you must install the Spigot version of EnhancedGlist to handle updates from Spigot.
hide-vanished-users
true
If enabled, vanished players will be hidden from player list.
hide-bypass-permission
egl.bypass.vanish.hide
Give this permission to your staff. With this permission, a player will be able to view vanished players from player list.
afk
Property
Default Value
Description
enable
true
If enabled, EnhancedGlist will handle AFK updates from players. Note that you must install the Spigot version of EnhancedGlist to handle updates from Spigot.
updates
Property
Default Value
Description
check-for-updates
true
If EnhancedGlist should check for new updates.
check-interval
300
Time in seconds to perform a check for new updates.
notify
on-join
Property
Default Value
Description
enable
true
Enable notification on player join.
delay
2500
Time in milliseconds to delay the update notification message when player join.
permission
ebcl.update.notify
Only players with this permission will receive update notification.
console
Property
Default Value
Description
enable
true
Enable notification on console.
notification-interval
1800
Time in seconds to send notification to console when a update is available.
ignore-servers
Define servers to be ignored from server list (i.e. list displayed when /glist command is executed)
Property
Default Value
Description
by-name
["login1","login2","login3"]
Ignore servers by exact name.
by-pattern
["login.*"]
Ignore servers by name using regex expressions, you can use RegExr webpage to test regex expressions.
group-servers
Group multiple servers by name. You can define many groups as you want, there is no limit of groups.
Examples:
Group multiple lobbies using exact name, in this example, lobby1, lobby2, lobby3 and lobby4 will be grouped as "lobby".
group-servers {
lobby=[
"lobby1",
"lobby2",
"lobby3",
"lobby4"
]
}
Also this can be done if you uses a Regex pattern to group all servers that starts with "lobby" word.
group-servers {
lobby=[
patterns=[
"lobby.*"
]
]
}
In this example, lobby1, lobby2, lobby3 and lobby4 will be grouped as "lobby", and all servers that starts with "bedwars-game" and "bedwars-lobby" will be grouped as "bedwars".
group-servers {
lobby=[
"lobby1",
"lobby2",
"lobby3",
"lobby4"
]
bedwars {
patterns=[
"bedwars-game.*",
"bedwars-lobby.*"
]
}
}
GUI configuration file
This documentation is for v2 version, unfortunately v1 is no longer maintained.
This configuration provides you all configurations related to GUI used by /glist and /slist command. For /glist command you must edit gui-glist-menu.conf file and for /slist command you must edit gui-slist-menu.conf file.
Take note that some configurations are common between both configurations. Also, due to technical limitations, console is not capable of view inventories, so in such case, console will always render chat messages for /glist and /slist commands.
Follow Installation steps to enable GUI feature, otherwise these configurations will not have any effect.
Common configuration between /glist and /slist
Property
Description
title
Title of menu.
rows
Number of rows to use (between 2 and 6 rows). You can set it to -1 to automatically calculate the number of rows depending of the data.
do-not-edit-this
This section is used by EnhancedGlist to know the current state of configuration and apply updates if needed, you should never edit this.
data-format
Configurations related to items used by the menu to display data.
general-item
Base item to use for data display.
Property
Description
material
Item material. Use official Spigot material names (MC 1.13+): Click here
amount
Item amount.
display-name
Item display name.
lore
Item lore.
player-head
Only available if material is set to PLAYER_HEAD . With this configuration you can change the skin of head or the head owner (nick).
Only skull-owner or skin-hash should be set, not both.
Property
Description
skull-owner
Player name, skull will have the skin of this player.
skin-hash
A string containing skin texture. You can use some tools like Minecraft Heads to get this value:
empty-slot-item
Item to display on empty slots.
Property
Description
material
Item material. Use official Spigot material names (MC 1.13+): Click here
amount
Item amount.
display-name
Item display name.
lore
Item lore.
player-head
Only available if material is set to PLAYER_HEAD . With this configuration you can change the skin of head or the head owner (nick).
Only skull-owner or skin-hash should be set, not both.
Property
Description
skull-owner
Player name, skull will have the skin of this player.
skin-hash
A string containing skin texture. You can use some tools like Minecraft Heads to get this value:
toolbar
previous-page-item
Item to set for previous page "button".
Property
Description
material
Item material. Use official Spigot material names (MC 1.13+): Click here
amount
Item amount.
display-name
Item display name.
lore
Item lore.
player-head
Only available if material is set to PLAYER_HEAD . With this configuration you can change the skin of head or the head owner (nick).
Only skull-owner or skin-hash should be set, not both.
Property
Description
skull-owner
Player name, skull will have the skin of this player.
skin-hash
A string containing skin texture. You can use some tools like Minecraft Heads to get this value:
next-page-item
Item to set for next page "button".
Property
Description
material
Item material. Use official Spigot material names (MC 1.13+): Click here
amount
Item amount.
display-name
Item display name.
lore
Item lore.
player-head
Only available if material is set to PLAYER_HEAD . With this configuration you can change the skin of head or the head owner (nick).
Only skull-owner or skin-hash should be set, not both.
Property
Description
skull-owner
Player name, skull will have the skin of this player.
skin-hash
A string containing skin texture. You can use some tools like Minecraft Heads to get this value:
background
Property
Description
pattern
Pattern to set background, representating the nine slots of an inventory row.
Expected string to represent nine slots of an inventory row:
pattern="1 2 3 4 5 6 7 8 9"
Declare definitions
You must define all items used by pattern, for example, if you set "A B C B A B C B A" as pattern you must declare definitions for "A" , "B" and "C" . Note that you can use any letter or number to define a pattern.
Item definition
background {
pattern="1 B 1 2 S 2 1 N 1"
definitions {
i1 {
material="LIME_STAINED_GLASS_PANE"
display-name=" "
}
...
}
}
A definition key is conformed with: "XY" where X is the definition type and Y the letter to define, for example, iA defines an item for letter A .
As you have seen, i is used to define an item.
Properties for item idefinition
Property
Description
material
Item material. Use official Spigot material names (MC 1.13+): Click here
amount
Item amount.
display-name
Item display name.
lore
Item lore.
player-head
Only available if material is set to PLAYER_HEAD . With this configuration you can change the skin of head or the head owner (nick).
Only skull-owner or skin-hash should be set, not both.
Property
Description
skull-owner
Player name, skull will have the skin of this player.
skin-hash
A string containing skin texture. You can use some tools like Minecraft Heads to get this value:
Menu item definition
background {
pattern="1 B 1 2 S 2 1 N 1"
definitions {
mB="previous-page-item
mN="next-page-item"
...
}
}
This type of definition is used by menu to know how put some menu items, such "back page" and "next page" items.
Also menu items are not directly configurable like item definition, you should look for previous-page-item and next-page-item configurations instead.
Available menu items:
previous-page-item
next-page-item
Remember that a definition key is conformed with: "XY" where X is the definition type and Y the letter to define, for menu items, definition type corresponds to the letter m .
Full example:
Example
background {
pattern="1 B 1 2 S 2 1 N 1"
definitions {
i1 {
material="LIME_STAINED_GLASS_PANE"
display-name=" "
}
i2 {
material="YELLOW_STAINED_GLASS_PANE"
display-name=" "
}
iS {
material="PLAYER_HEAD"
display-name="Ver todos los servidores"
player-head {
skin-hash="eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGZjM2MyNDNmYzA4OTRhYTQwMjhkMzJiMTlhODMwYTJmY2FkYzI5MzI3MGI0Y2IzMmMxYmFlNDJjNzhjMDhiZSJ9fX0="
}
on-click {
run-command = "glist"
}
}
mB="previous-page-item"
mN="next-page-item"
iE {
material="YELLOW_STAINED_GLASS_PANE"
amount=1
display-name="¡Ítem de ejemplo!"
lore=[
"lore línea 1",
"lore línea 2",
"lore línea 3"
]
on-click {
send-chat="¡Hola !"
run-command="glist"
close-menu=true
}
player-head {
skull-owner="Wirlie"
skin-hash="ewogICJ0aW1lc3RhbXAiIDogMTY1OTA0NzQ3MDM5OSwKICAicHJvZmlsZUlkIiA6ICI4N2RlZmVhMTQwMWQ0MzYxODFhNmNhOWI3ZGQ2ODg0MyIsCiAgInByb2ZpbGVOYW1lIiA6ICJTcGh5bnhpdHMiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjg0MThjZGExM2Y1OTAxMmM4MTVkNmRiYTNlZDgzODUyZGExNzU5YzdiOTVjYTczYTFlNmM0YmNiMzI2MTg1MyIKICAgIH0KICB9Cn0="
}
}
}
}
/glist configuration ( gui-glist-menu.conf )
data-format
custom-items
Set custom items to display depending of the server name, you can add unlimited custom items. If no custom item is defined for a server, then the general item will be used.
Properties:
Property
Description
by-name
Match servers by exact name, all matched servers will use this custom item.
by-regex
Match servers by name using regex expressions, all matched servers will use this custom item.
material
Item material. Use official Spigot material names (MC 1.13+): Click here
amount
Item amount. Set to -1 to automatically set amount based on the number of players connected to the server.
display-name
Item display name.
lore
Item lore.
player-head
Only available if material is set to PLAYER_HEAD . With this configuration you can change the skin of head or the head owner (nick).
Only skull-owner or skin-hash should be set, not both.
Property
Description
skull-owner
Player name, skull will have the skin of this player.
skin-hash
A string containing skin texture. You can use some tools like Minecraft Heads to get this value:
Example:
In this example, a custom item named "lobby-servers" is defined, and all servers that starts with "lobby" will use this custom item. Note that you can name custom items as you want.
data-format {
custom-items {
lobby-servers {
by-regex="lobby.*"
material="PLAYER_HEAD"
amount=-1
display-name="Lobby Server"
lore=[
" online players",
" ",
"Click to view player list."
]
player-head {
skin-hash="eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDY3ZGYzNWI3YTgwMjdkZGM4M2M5MTlkNzNmMGEzOTk4YWQ1NGViMGQ5NzNlZjcxNmFlNTA1YzY3NTU4MTBmNyJ9fX0="
}
}
}
/slist configuration ( gui-slist-menu.conf )
format
Property
Description
afk-status
Prefix/Suffix to use for AFK status.
vanish-status
Prefix/Suffix to use for Vanish status.
Available translations
This documentation is for v2 version, unfortunately v1 is no longer maintained.
Currently available languages:
Code
Language
en
English
es
Spanish
To change language of EnhancedGlist see: Main configuration file
To contribute with an additional translation, contact me via Discord: Wirlie#0001
Make your own translation file
This documentation is for v2 version, unfortunately v1 is no longer maintained.
To make your own translation edit language configuration from main configuration and set it to anything else except already existing languages codes .
For example, you can make your own portuguese translation by setting the language configuration to pt , then reload EnhancedGlist by using /egl reload command . This will generate a new file called pt.conf containing all translations from English language. Edit this new file with your own translations and use /egl reload to apply changes.