Connection info and server-pushed UI: address, ping, brand, boss bars and the tab list. Text values are text component snapshots.
Connection
| Function | Returns |
|---|---|
server.address() |
Server address, or nil in singleplayer |
server.ping() |
Your ping in ms |
server.brand() |
Server brand ("vanilla", "paper", …); nil until known |
Tab list — server.tablist
| Function | Returns |
|---|---|
server.tablist.header() |
Custom tab header, or nil |
server.tablist.footer() |
Custom tab footer, or nil |
server.tablist.entries() |
Listed players, in tab order |
Each entry: {name, uuid, display_name, ping, gamemode} — account name, rendered row
(with team styling), latency in ms, and gamemode e.g. "survival".
for i, entry in ipairs(server.tablist.entries()) do
print(i, entry.display_name:string(), entry.ping .. "ms")
endBoss bars — server.bossbars()
All boss bars currently shown, in display order. Each is
{uuid, name, percent, color, style}:
name— text componentpercent—[0, 1]color—"pink"·"blue"·"red"·"green"·"yellow"·"purple"·"white"style—"progress"or"notched_6"·"notched_10"·"notched_12"·"notched_20"
for _, bar in ipairs(server.bossbars() or {}) do
print(bar.name:string(), math.floor(bar.percent * 100) .. "%")
end