-
Notifications
You must be signed in to change notification settings - Fork 306
Feature guide: Global playerlist
- About
- Configuration
Commands- Placeholders
Limitations- Compatibility with other plugins
Additional Info- Troubleshooting
APIExamples
This feature allows you to see players from other servers, instead of only seeing players on the same server.
If TAB is installed on a backend server, you'll need to set up Multi server support for proper linking of servers. On proxy installation, this is not required.
The feature can be configured in config.yml under global-playerlist section.
This is how the default configuration looks:
global-playerlist:
enabled: false
display-others-as-spectators: false
display-vanished-players-as-spectators: true
isolate-unlisted-servers: false
update-latency: false
spy-servers:
- spyserver1
- spyserver2
server-groups:
lobbies:
- lobby1
- lobby2
group2:
- server1
- server2
All of the options are explained in the following table.
| Option name | Default value | Description |
|---|---|---|
| enabled | false | Enables / Disables the feature |
| display-others-as-spectators | false | When enabled, players on different servers will appear as having spectator gamemode in tablist. |
| display-vanished-players-as-spectators | true | When enabled, vanished players will show as in spectator gamemode for those, who have permission to see vanished players (tab.seevanished) (others will obviously not see them at all). Vanished players will still see themselves in the gamemode they are actually in, since changing that would cause problems (client would think it's in spectator gamemode while it isn't). |
| isolate-unlisted-servers | false | When enabled, servers not listed in any group will not share playerlist with any other server, instead of sharing it with other unlisted servers. |
| update-latency | false | When enabled, plugin will send ping update to players on other servers, since backend servers only send ping updates of players on the same server. This is displayed as the green bar in tablist, unless altered by a mod / resource pack (?). When disabled, ping of players on other servers will be set to 0 ( ). Disabled by default, because it's not only not very useful, but also has a very high CPU usage to due spamming a large amount of packets (especially on large networks). |
| spy-servers | List | See Seeing all players on the network from some server |
| server-groups | Map | See Grouping players only from certain servers |
In case you want multiple servers to share playerlist, but not with every server, create a server group and put servers there. The default example
global-playerlist:
server-groups:
lobbies:
- lobby1
- lobby2
group2:
- server1
- server2
Contains 2 groups, each of them consisting of 2 servers. Server group name can be anything (in our case, they're called "lobbies" and "group2"). Under group name, list the actual server names defined in config.yml of the proxy server.
With this setup, "lobby1" and "lobby2" will share playerlist, as well as "server1" with "server2". All unlisted servers are automatically put into a hidden default group and share playerlist. This means that all other servers except these 4 will share playerlist.
To make all servers share the playerlist, simply clear server groups and set
server-groups: {}
Server names in groups support multiple pattern types for flexible configuration:
Exact Match - Matches server name exactly:
server-groups:
lobbies:
- lobby1
- lobby2Wildcard Patterns - Use * for prefix or suffix matching:
server-groups:
lobbies:
- "Lobby-*" # Matches: Lobby-1, Lobby-2, Lobby-Hub, etc.
- "*-lobby" # Matches: eu-lobby, us-lobby, etc.Regex Patterns - Use regex: prefix for advanced pattern matching:
server-groups:
lobbies:
- regex:Lobby-[0-9]+ # Matches: Lobby-1, Lobby-23, but not Lobby-Hub
smp:
- regex:SMP-(EU|US)-[0-9]+ # Matches: SMP-EU-1, SMP-US-2, etc.Note: Wildcard patterns are case-insensitive, while regex patterns are case-sensitive by default (use (?i) flag for case-insensitive regex).
If you want servers which are isolated (no one will see these players, and they will not see anyone on other servers), create a new group and only put that 1 server there. For example:
global-playerlist:
server-groups:
test1:
- isolatedServer1
test2:
- isolatedServer2
If, despite configuring server groups, you want players to see everyone on the network if they're connected to specific server(s), you can list those servers at
global-playerlist:
spy-servers:
- spyserver1
- spyserver2
Now, players connected to "spyserver1" or "spyserver2" will see everyone on the network in tablist, but no one else (unless on another spy server / in the same server group) will see them.
Here are TAB's internal placeholders you can use when this feature is enabled:
| Placeholder | Description |
|---|---|
| %playerlist-group_<group>% | Amount of online players in specified global playerlist group |
For compatibility with vanish plugins, vanish status must be detected correctly. See Additional information - Vanish detection for more info.
This is a collection of tips to help you figure out why the feature isn't working as you expect.
To get started, run /tab dump <player looking at the tablist> and open the generated link. Scroll down to features -> GlobalPlayerList and check the content:
-
If it says
GlobalPlayerList: Feature is disabled, it means you did not enable the feature. Enable it by settingglobal-playerlist: enabled: true -
Check the
configurationsection and compare it with your config file. If it's different, you either forgot to reload TAB, uploaded the config to the wrong server, or did not upload it at all. -
Check the
player infosection and make sure everything is as expected - server name, server group and other servers in that group. If server name saysN/A, it means you did not configureserver-name(TODO create section and link it). -
Check the
visibility from viewer's perspectivetable. Find the target player who the viewer should see but doesn't (or vice versa) and check their server, server group and whether they should be visible or not.
If "visible" doesn't match the expected result, but matches what is shown in-game:- See the full message for a hint why the player is or is not visible
- Make sure server groups are configured as desired
- If the issue involves vanishing, see Vanish Detection. In short, make sure the player has
tab.seevanishedpermission to see vanished players and if the vanish plugin is PremiumVanish, its layered vanish system does not block the target player from being seen by the viewer
If "visible" matches the expected result, but not in-game result:
- If both players are on the same server, the visibility is managed purely by the server (and plugins there), not by TAB. It means the player was hidden by another plugin or not shown by the server itself, for example when using redis to connect the servers and TAB, but the different servers acting as one do not share tablist information between them.
- Why TAB?
- Installation
- Commands & Permissions
- Frequently Asked Questions
- Compatibility
- How to assign players into groups
- Known issues
- TAB-Bridge plugin
- Belowname
- Bossbar
- Global playerlist
- Header/Footer
- Layout
- Multi server support
- Nametags
- Per world playerlist
- Ping spoof
- Playerlist objective
- Scoreboard
- Sorting in tablist
- Spectator fix
- Tablist name formatting
).