How to Use Scoreboards on Your Minecraft Server (Complete Guide)
Guide

How to Use Scoreboards on Your Minecraft Server (Complete Guide)

Track kills, deaths, and custom stats with Minecraft scoreboards. Build minigame mechanics, leaderboards, and triggers without plugins — a complete guide to the /scoreboard command.

Swelis TeamApril 25, 202611 min read

You have seen them on other servers — floating kill counters in the sidebar, race timers above player heads, PvP leaderboards that update in real time. Maybe you assumed those required expensive plugins or datapack wizardry. They do not.

All of that comes from one built-in Minecraft feature: the scoreboard system. It has been in the game since Java Edition 1.5, and it does far more than most server admins realize. With nothing but vanilla commands, you can track player kills, deaths, items crafted, blocks mined, and custom values of your own design. You can display them on the sidebar, under player names, or in the tab list. And you can let players interact with scores themselves through triggers.

This guide covers the entire scoreboard system — from basic objectives to practical builds like death counters, PvP leaderboards, and timed parkour challenges.


The Three Core Scoreboard Commands

Before you build anything, you need to understand the command structure. Every scoreboard operation uses one of these three commands:

CommandPurpose
/scoreboard objectivesCreate, remove, and configure objectives (the things you are tracking)
/scoreboard playersView and modify individual player scores
/scoreboard teamsCreate teams, assign players, and configure team settings

An objective is a named stat container. "Kills" could be an objective. "DeathCount" could be another. Each objective has a criteria that determines how scores update — automatically from gameplay events, or manually from commands.

A score is a player's current value in an objective. Player "Steve" might have a score of 7 in the "Kills" objective.

That is the entire conceptual model. Everything else builds on these pieces.


Creating Objectives

To create an objective, use:

/scoreboard objectives add <name> <criteria> [displayName]

The name is the internal identifier (no spaces, used in commands). The displayName is what players see in the UI (can include spaces, colors, formatting). If you omit displayName, the objective uses the name.

/scoreboard objectives add deaths deathCount "Deaths"

This creates an objective called deaths that automatically increments whenever a player dies. The display name shows as "Deaths" in the sidebar.

To remove an objective:

/scoreboard objectives remove deaths

To list all objectives:

/scoreboard objectives list

Built-in Criteria (What Minecraft Tracks Automatically)

Here is where scoreboards become powerful. Minecraft can automatically track dozens of player actions without any manual updating. The server watches for these events and increments scores in real time.

Combat Criteria

CriteriaWhat It Tracks
deathCountHow many times the player has died
playerKillCountPlayers killed
totalKillCountAll mobs killed (including players)
healthCurrent health (heart units x2, so 20 = full health)
xpCurrent XP level
levelSame as xp (alias)
foodCurrent food level (20 = full hunger bar)
airAir supply while underwater
armorArmor points

Stat Criteria

The minecraft. criteria family tracks nearly everything from the statistics screen. The format is:

minecraft.<type>:<stat>

Common examples:

CriteriaWhat It Tracks
minecraft.mined:minecraft.diamond_oreDiamond ore blocks mined
minecraft.crafted:minecraft.diamond_swordDiamond swords crafted
minecraft.used:minecraft.fishing_rodFishing rod uses
minecraft.broken:minecraft.diamond_pickaxeDiamond picks broken
minecraft.killed:minecraft.zombieZombies killed
minecraft.killed_by:minecraft.creeperDeaths to creepers
minecraft.picked_up:minecraft.arrowArrows picked up
minecraft.dropped:minecraft.diamondDiamonds dropped
minecraft.custom:minecraft.jumpTotal jumps
minecraft.custom:minecraft.walk_one_cmDistance walked (in cm)
minecraft.custom:minecraft.play_timeTotal ticks played

The full list runs into hundreds of trackable stats — essentially anything on the Statistics screen can become a scoreboard objective. For a comprehensive list, see the server console commands reference or check the Minecraft Wiki.

Dummy Criteria

The dummy criteria creates a score that never updates automatically. You control it entirely through commands. This is what you use for custom game mechanics.

/scoreboard objectives add points dummy "Points"
/scoreboard players set Steve points 100

Nobody but commands (or datapacks) can change a dummy score. Perfect for tracking quest progress, custom currency, or manual awards.


Modifying Player Scores

The /scoreboard players subcommands let you read and write individual scores:

/scoreboard players set <player> <objective> <value>
/scoreboard players add <player> <objective> <value>
/scoreboard players remove <player> <objective> <value>
/scoreboard players reset <player> [objective]
/scoreboard players get <player> <objective>
/scoreboard players list [player]

Examples:

/scoreboard players set Steve kills 5
/scoreboard players add Steve kills 1
/scoreboard players remove Steve kills 2
/scoreboard players reset Steve kills

The reset command clears a score entirely — the player will no longer appear on that scoreboard. This differs from setting the score to 0, which still displays the player with a 0.

You can also use selectors instead of player names:

/scoreboard players add @a deaths 0

This does not add 0 — it initializes the objective for all players so they appear on the scoreboard even if they have not died yet.


Display Slots

Objectives exist silently until you assign them to a display slot. There are three:

SlotWhere It Appears
sidebarRight side of the screen, always visible
listTab player list, next to each name
belowNameUnder each player's nameplate in the world

To set a display slot:

/scoreboard objectives setdisplay sidebar deaths
/scoreboard objectives setdisplay belowName health
/scoreboard objectives setdisplay list kills

To clear a display slot:

/scoreboard objectives setdisplay sidebar

(Leave the objective blank to clear.)

Only one objective can occupy each slot at a time. Assigning a new objective to a slot replaces the previous one.

Team-Colored Sidebars

For team-based games, Minecraft provides 16 additional sidebar slots — one for each color. Players assigned to a team of that color see that specific sidebar.

/scoreboard objectives setdisplay sidebar.team.red redTeamStats
/scoreboard objectives setdisplay sidebar.team.blue blueTeamStats

This requires setting up teams first (covered below).


Teams

Teams let you group players for shared settings, name colors, and friendly fire rules. They also enable those team-colored sidebars.

Creating Teams

/team add <name> [displayName]
/team remove <name>
/team list [team]

Example:

/team add red "Red Team"
/team add blue "Blue Team"

Adding Players

/team join red Steve
/team join blue Alex
/team leave Steve

Or use selectors:

/team join red @a[distance=..5]

Team Options

Teams have several configurable settings:

OptionValuesEffect
friendlyFiretrue/falseCan teammates damage each other
seeFriendlyInvisiblestrue/falseCan teammates see each other when invisible
nametagVisibilityalways/hideForOtherTeams/hideForOwnTeam/neverWho sees player nametags
deathMessageVisibilityalways/hideForOtherTeams/hideForOwnTeam/neverWho sees death messages
collisionRulealways/pushOtherTeams/pushOwnTeam/neverEntity collision behavior
colorAny Minecraft colorTeam name color
prefix / suffixJSON textText before/after player names
/team modify red color red
/team modify red friendlyFire false
/team modify red prefix {"text":"[RED] ","color":"red"}

Teams combined with scoreboards enable full minigame infrastructure — PvP arenas, capture-the-flag, team deathmatch — all without plugins.


Trigger Objectives

Regular objectives are read-only for players. Only ops and command blocks can modify them. Triggers change that.

A trigger objective uses the trigger criteria:

/scoreboard objectives add vote trigger "Vote"

Players can modify their own trigger score using:

/trigger vote set 1
/trigger vote add 1

But there is a catch: triggers are disabled by default. You must enable a trigger for each player before they can use it:

/scoreboard players enable Steve vote

Once enabled, the player can /trigger vote once. After triggering, it disables again — you must re-enable for repeated use.

Why Triggers Matter

Triggers let non-op players interact with command systems. Combine them with command blocks or datapacks and you can build:

  • Voting systems (players vote for map changes)
  • Shop menus (trigger different values for different purchases)
  • Teleport requests (trigger to request a TP, command block reads the value)
  • Ability activation (players trigger their special move)

For more complex trigger-based mechanics, consider pairing scoreboards with datapacks — they can watch for trigger changes and run logic every tick.


Practical Examples

Here are four real setups you can copy directly.

Death Counter (Sidebar)

Track deaths and display them prominently:

/scoreboard objectives add deaths deathCount "Deaths"
/scoreboard objectives setdisplay sidebar deaths

Done. Every player who dies appears on the sidebar with their death count.

PvP Kill Leaderboard

Track player kills and show the top killers:

/scoreboard objectives add pvpKills playerKillCount {"text":"PvP Kills","color":"gold"}
/scoreboard objectives setdisplay sidebar pvpKills

The sidebar automatically sorts by score, highest first. Your top killers are always visible.

Health Under Names

Show each player's current health below their nameplate:

/scoreboard objectives add hp health {"text":"HP","color":"red"}
/scoreboard objectives setdisplay belowName hp

Players now see each other's health at a glance — useful for PvP servers or hardcore survival.

Timed Parkour

For a parkour course with a timer, use the minecraft.custom:minecraft.play_time stat combined with manual control:

/scoreboard objectives add parkourTime dummy "Time"
/scoreboard objectives setdisplay sidebar parkourTime

At the start line (pressure plate triggering command block):

/scoreboard players set @p parkourTime 0

In a repeating command block (running every tick while player is in the course):

/scoreboard players add @a[tag=inParkour] parkourTime 1

At the finish line:

/tag @p remove inParkour
/tellraw @p [{"text":"Your time: "},{"score":{"name":"@p","objective":"parkourTime"}}]

This counts ticks (20 per second). Divide by 20 for seconds if you want cleaner display — or use a datapack to format the output.

Team Score Tracker

For a two-team minigame:

/team add red "Red Team"
/team add blue "Blue Team"
/team modify red color red
/team modify blue color blue

/scoreboard objectives add teamScore dummy "Score"
/scoreboard players set RedTeam teamScore 0
/scoreboard players set BlueTeam teamScore 0
/scoreboard objectives setdisplay sidebar teamScore

When red scores a point:

/scoreboard players add RedTeam teamScore 1

Note: "RedTeam" and "BlueTeam" here are fake player names — they do not need to be real players. Any string works as a scoreboard entry.


Combining Scoreboards with Permissions

On a server with multiple admins or staff, you probably want to restrict who can run scoreboard commands. Scoreboards themselves have no built-in permission system, but your permission plugin handles this.

With LuckPerms, you can grant or deny minecraft.command.scoreboard to specific groups. Default players cannot use /scoreboard commands at all — they can only view displays and use enabled triggers.

For more on structuring ranks and permissions, see the LuckPerms permissions guide.


Common Pitfalls

Objective names vs display names: The internal name cannot have spaces. The display name can. Do not confuse them in commands.

Score of 0 vs no score: Setting a player's score to 0 shows them on the leaderboard with 0. Resetting removes them entirely. Use whichever behavior fits your design.

Trigger re-enable: Triggers disable after one use. If you want players to trigger repeatedly, your command block chain must re-enable the trigger after reading it.

Display slot limits: Only one objective per slot. If your sidebar shows kills, it cannot simultaneously show deaths. Use multiple objectives with a datapack timer to cycle them, or just pick one.

Large objective names: Extremely long display names can clip in the sidebar. Keep them concise.


Quick Reference

TaskCommand
Create objective/scoreboard objectives add <name> <criteria> [displayName]
Remove objective/scoreboard objectives remove <name>
List objectives/scoreboard objectives list
Set display/scoreboard objectives setdisplay <slot> [objective]
Set score/scoreboard players set <player> <objective> <value>
Add to score/scoreboard players add <player> <objective> <value>
Reset score/scoreboard players reset <player> [objective]
Create team/team add <name> [displayName]
Join team/team join <team> <player>
Team option/team modify <team> <option> <value>
Enable trigger/scoreboard players enable <player> <objective>
Use trigger/trigger <objective> set/add <value>

Common criteria: deathCount, playerKillCount, totalKillCount, health, dummy, trigger, minecraft.mined:<block>, minecraft.killed:<mob>, minecraft.custom:minecraft.play_time


Ready to Start Your Adventure?

Join lots of users already enjoying lag-free hosting.

Launch Your Server
Swelis Hosting

Premium Minecraft server hosting starting at €1.50/GB RAM. Experience lightning-fast performance, 24/7 support, and 99.9% uptime guarantee.

© 2026 Swelis International e.U. All rights reserved.