---
title: "Server Leaderboards and Stat Tracking Setup | ZCraft Studios"
description: "Build leaderboards and stat tracking for playtime, kills and balance using placeholders and holograms, without hurting server performance."
url: "https://www.zcraftstudios.com/blog/minecraft-server-leaderboards-stats-setup"
updated: "2026-10-20T07:16:50.972429+00:00"
source: "ZCraft Studios"
---

> Site index for AI agents: https://www.zcraftstudios.com/llms.txt (full reference: https://www.zcraftstudios.com/llms-full.txt). Every page is available as Markdown by adding `.md` to its URL or sending `Accept: text/markdown`.

1. [Home](https://www.zcraftstudios.com/)
2. [Blog](https://www.zcraftstudios.com/blog)
3. Server Leaderboards and Stat Tracking Setup

[ All posts](https://www.zcraftstudios.com/blog)

# Server Leaderboards and Stat Tracking Setup

ZCraft StudiosOct 3, 2026Updated Oct 20, 2026

Build leaderboards and stat tracking for playtime, kills and balance using placeholders and holograms, without hurting server performance.

## In this guide

- [Step One: A Plugin Actually Tracking the Stat](#step-one-a-plugin-actually-tracking-the-stat)
- [Step Two: Exposing It Through PlaceholderAPI](#step-two-exposing-it-through-placeholderapi)
- [Step Three: Displaying the Leaderboard](#step-three-displaying-the-leaderboard)
- [Refresh Rate Matters](#refresh-rate-matters)
- [Multiple Leaderboards for Different Stats](#multiple-leaderboards-for-different-stats)
- [Seasonal Resets](#seasonal-resets)
- [Leaderboard accuracy](#leaderboard-accuracy)
- [Diagnose a stale or misleading leaderboard](#diagnose-a-stale-or-misleading-leaderboard)
- [Official documentation and links](#official-documentation-and-links)
- [Official projects used in this guide](#official-projects-used-in-this-guide)
- [Avoid misleading leaderboard rankings](#avoid-misleading-leaderboard-rankings)

## Building Server Leaderboards and Stat Tracking

_Nobody competes for a stat they can't see. A leaderboard is what makes a private number into something players actually chase._

A working leaderboard system has three separate parts working together: something tracking the underlying stat, PlaceholderAPI exposing it as a placeholder, and a display method (hologram, GUI, or scoreboard) showing the ranked result.

## Step One: A Plugin Actually Tracking the Stat

The stat needs a source. Common examples:

- **Economy balance**: tracked natively by the economy plugin (EssentialsX or similar)
- **Kill/death counts**: tracked by a stats or KitPvP plugin
- **Playtime**: tracked by EssentialsX or a dedicated playtime plugin
- **Custom stats** (blocks mined, mobs killed, votes cast): usually need a dedicated stats-tracking plugin, since vanilla and most core plugins don't log this by default

## Step Two: Exposing It Through PlaceholderAPI

Install the matching PlaceholderAPI expansion for whatever plugin is tracking the stat:

```
/papi ecloud download vault
/papi reload
```

A leaderboard-specific placeholder (showing rank position, not just a raw value) is usually needed too. Not every expansion provides this natively, so checking whether the tracking plugin specifically supports leaderboard-style placeholders (`%plugin_leaderboard_1_name%`, for example) matters before assuming the base expansion covers it.

## Step Three: Displaying the Leaderboard

**Via hologram:**

```
/dh create balance_leaderboard
/dh addline balance_leaderboard "&6#1: %vault_eco_balance_rank_1_name%"
```

**Via scoreboard (TAB):**

```
scoreboards:
  leaderboard:
    title: "&6Top Balances"
    lines:
      - "&f#1 %vault_eco_balance_rank_1_name%"
      - "&f#2 %vault_eco_balance_rank_2_name%"
```

**Via GUI command**, using a menu plugin that reads placeholder values into a sorted inventory display.

## Refresh Rate Matters

A leaderboard that updates every few seconds for something like balance (which changes constantly across many players) can be unnecessarily expensive to compute repeatedly. Many leaderboard-capable plugins cache rankings and refresh on an interval (every few minutes, for instance) rather than live per-request, which is usually the right tradeoff for performance.

## Multiple Leaderboards for Different Stats

Nothing stops a server from running several leaderboards simultaneously (top balance, most kills, most playtime). Each is really the same three-step pattern repeated with a different underlying stat and placeholder source.

## Seasonal Resets

For competitive stats meant to reset periodically (a monthly top-killer leaderboard, for instance), the tracking plugin needs an actual reset mechanism (either a built-in scheduled reset or an admin command run on a cron-like schedule) rather than assuming a leaderboard naturally refreshes on its own.

## Leaderboard accuracy

Compare displayed ranks against the actual stored statistics, including ties, missing values and offline users. Check update frequency and the performance of frequent placeholder refreshes. For seasonal resets, archive results before clearing stats and announce exactly which values will reset.

[TABAn all-in-one solution that worksOn Modrinth ](https://modrinth.com/plugin/tab-was-taken)

_Tablist example from the official TAB project gallery. [Official source](https://modrinth.com/plugin/tab-was-taken/gallery). Illustrative publisher image._

## Diagnose a stale or misleading leaderboard

First distinguish a missing statistic from a delayed display. Check the value through the plugin that owns it, then compare the placeholder output and the final board. If the source is correct but the display is old, investigate refresh behavior. If both are wrong, changing colors or reinstalling the display plugin will not fix the record. Keep a test account with a known score so future changes can be checked against a stable example.

Define what happens at the season boundary. Decide whether scores reset, whether historical results remain available and whether ties share a position. Explain these choices before players invest time. A leaderboard that combines lifetime totals with a seasonal heading can make fair results look wrong. Also decide whether staff test accounts should be excluded. Keep those rules beside the configuration so a replacement administrator can maintain the same ranking policy.

### Troubleshooting paths

- Source value is missing: check the statistic provider and account identity.
- Value is correct but the board is old: inspect refresh and caching.
- Season label is wrong: compare the displayed period with the actual reset process.
[TABAn all-in-one solution that worksOn Modrinth ](https://modrinth.com/plugin/tab-was-taken)

_Interface example from the official TAB project gallery. [Official source](https://modrinth.com/plugin/tab-was-taken/gallery). Illustrative publisher image._

## Official documentation and links

- [Official project repository](https://github.com/PlaceholderAPI/PlaceholderAPI)
- [Setting Up PlaceholderAPI: Installing Expansions and Using Placeholders](https://www.zcraftstudios.com/blog/placeholderapi-setup-guide)

[PlaceholderAPIA resource that allows information from your favourite plugins be shown practically anywhere!On Modrinth ](https://modrinth.com/plugin/placeholderapi)

## Official projects used in this guide

Open the relevant project for its downloads, supported versions and installation instructions. Install only the plugins needed for the workflow you choose.

[PlaceholderAPIA resource that allows information from your favourite plugins be shown practically anywhere!On Modrinth ](https://modrinth.com/plugin/placeholderapi)

[TABAn all-in-one solution that worksOn Modrinth ](https://modrinth.com/plugin/tab-was-taken)

## Avoid misleading leaderboard rankings

Specify exactly what each metric counts, whether AFK activity qualifies, when rankings reset and how ties are handled. For competitive seasons, snapshot results before resetting counters and announce the cutoff time in advance.

Test placeholder refresh intervals and database load with realistic numbers of viewers. Constant scoreboard refreshes can add work without improving player experience.

[ Previous guide ShopGUIPlus Setup: Build an In-Game GUI Shop](https://www.zcraftstudios.com/blog/shopguiplus-gui-shop-setup)[ Next guide New Player Onboarding: Build a Server Tutorial Flow](https://www.zcraftstudios.com/blog/new-player-onboarding-tutorial-setup)
