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="<bold><aqua>EGlist ></aqua></bold><reset>"
  # 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 <bold><aqua>EGlist ></aqua></bold><reset> 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:

Sin título.png

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:

Sin título.png

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:

Sin título.png

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:

Sin título.png

background
Property Description
pattern

Pattern to set background, representating the nine slots of an inventory row.

image.png

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:

Sin título.png

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="<aqua>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="<red>¡Ítem de ejemplo!"
        lore=[
          "<gray>lore línea 1",
          "<aqua>lore línea 2",
          "<green>lore línea 3"
        ]
        on-click {
          send-chat="<yellow>¡Hola <player>!"
          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:

Sin título.png

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="<yellow>Lobby Server"
      lore=[
        "<white><player-count></white> <aqua>online players</aqua>",
        " ",
        "<yellow>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.