How to Create Custom Scoreboards on Your Minecraft Server
Set up a custom sidebar scoreboard using AnimatedScoreboard, FeatherBoard, or the FastBoard API. Includes PlaceholderAPI placeholders, animations and performance tips.
What Server-Side Scoreboards Are
In Minecraft, the scoreboard system has three display slots: the sidebar (right side of the screen), below the player name (above the head), and the player list. When server owners talk about "scoreboards," they almost always mean the sidebar, a persistent panel on the right side of the screen that shows server info, player stats, economy balance, and other live data. This sidebar is one of the most visible UI elements on any server, and it is where players constantly glance to check their balance, see the server TPS, or read event info.
The vanilla scoreboard system is functional but extremely limited. Setting it up with commands requires managing fake player names as score entries, and updating it dynamically is a pain. That is why virtually every server uses a plugin for sidebar scoreboards.
Plugin Options
There are three main approaches to server scoreboards:
AnimatedScoreboard (Free)
AnimatedScoreboard is the most popular free scoreboard plugin on SpigotMC. It supports PlaceholderAPI, animated text (scrolling, flashing), per-world scoreboards, and conditional lines. It is a solid choice for small to mid-sized servers and requires no programming knowledge.
FeatherBoard (Paid)
FeatherBoard by Maximvdw is the premium option, priced at around 15 USD on SpigotMC. It offers advanced animations, conditional scoreboard switching (show different boards based on world, permission, or placeholder value), custom triggers, and an extensive configuration system. If you run a large network and want the most polished scoreboard experience, FeatherBoard is the industry standard.
FastBoard API (For Developers)
FastBoard is a lightweight Java library (not a plugin) that developers use inside their own plugins. It creates and updates scoreboards using packets rather than the Bukkit scoreboard API, which avoids flickering and improves performance. If you are building a custom plugin for your server, FastBoard is the recommended way to handle scoreboards programmatically.
Setting Up AnimatedScoreboard
Download AnimatedScoreboard from SpigotMC and drop the jar into plugins/. Restart the server. The main config file is at plugins/AnimatedScoreboard/config.yml, and individual scoreboard definitions live in the plugins/AnimatedScoreboard/scoreboards/ folder.
Create a file called default.yml inside the scoreboards/ directory:
# plugins/AnimatedScoreboard/scoreboards/default.yml
scoreboard:
title:
text:
, "&6&lASTROWORLD MC"
, "&e&lASTROWORLD MC"
interval: 10
lines:
1:
text: "&7&m "
2:
text: "&fRank: %luckperms_prefix%"
3:
text: "&fBalance: &a$%vault_eco_balance_formatted%"
4:
text: ""
5:
text: "&fOnline: &b%server_online%&7/&b%server_max_players%"
6:
text: "&fWorld: &e%player_world%"
7:
text: ""
8:
text: "&fTPS: %server_tps_1_colored%"
9:
text: "&7&m "
10:
text: "&eplay.astroworldmc.com"
The title section cycles between the two text entries every 10 ticks (half a second), creating a simple color-pulse animation. Each line can use any PlaceholderAPI placeholder. The %vault_eco_balance_formatted% placeholder requires the Vault expansion (/papi ecloud download Vault), and %luckperms_prefix% requires the LuckPerms expansion.
Per-World Scoreboards
AnimatedScoreboard supports per-world configurations. You can create multiple scoreboard files (e.g., survival.yml, creative.yml, hub.yml) and assign them to specific worlds in the main config. This is useful if you run different gamemodes where the displayed information should differ, a creative world does not need to show an economy balance, for instance.
Toggling the Scoreboard
Not every player wants a sidebar on screen at all times. AnimatedScoreboard provides a /sb toggle command (or /asb toggle depending on version) that lets individual players hide their scoreboard. The toggle state is saved per player. Grant the permission node to all players so everyone has this option:
/lp group default permission set animatedscoreboard.toggle true
Update Intervals and Performance
Scoreboard performance issues almost always come down to update frequency. If your scoreboard updates every tick (50 ms), the server has to recalculate and resend scoreboard packets 20 times per second for every online player. This is wasteful and can cause visible flicker on older scoreboard implementations that use the Bukkit API.
Best practices:
- Set the update interval to 20 ticks (1 second) for most lines. Players do not notice sub-second updates on things like balance or online count.
- For animated titles, 10-20 ticks is the sweet spot. Faster than 5 ticks burns CPU for an effect most players find annoying anyway.
- If you use many expensive placeholders (database queries, API calls), stagger updates so not all lines refresh on the same tick.
- On servers with 50+ players, prefer plugins built on the FastBoard packet approach. AnimatedScoreboard has a FastBoard mode in newer versions, enable it in config if available.
Common Issues
Flickering, The classic scoreboard problem. It happens when the plugin removes and re-adds scoreboard entries every update cycle. Plugins that use packet-based scoreboard management (FastBoard under the hood) avoid this entirely. If you see flickering with AnimatedScoreboard, update to the latest version and enable the packet-based mode.
Placeholders showing as raw text, This means PlaceholderAPI is missing the required expansion. Run /papi ecloud list to see available expansions, then /papi ecloud download [name] to install the one you need. Always /papi reload afterward.
Scoreboard conflicts, If another plugin (like a minigame plugin) sets its own scoreboard, it can override yours. Most scoreboard plugins claim the sidebar display slot, and only one can be active at a time. Resolve this by configuring your scoreboard plugin to disable in worlds where the minigame runs, or use the minigame's built-in scoreboard for those worlds.
Design Tips for a Clean Scoreboard
A well-designed scoreboard strikes a balance between useful information and visual simplicity. Some guidelines from servers that do it well:
- Limit to 8-10 lines, More than that and the scoreboard becomes a wall of text that players tune out. Show only the most relevant data: rank, balance, online count, and maybe one server-specific stat.
- Use separator lines, A line of
&7&m(grey strikethrough) creates a visual divider that groups related information. Use two or three separators at most. - Keep the title short, A long animated title that changes every half second is distracting. A clean, static server name in a bold color is more professional.
- Include your server IP, The bottom line of the scoreboard is a natural place for your server address. Players who screenshot their gameplay inadvertently advertise your server when they share those screenshots.
- Avoid showing data that updates rarely, Showing a player's UUID or join date wastes a scoreboard line on static information. Focus on live, changing values that players actually want to monitor.
Conditional and Event Scoreboards
Advanced scoreboard plugins (especially FeatherBoard) support conditional switching: show a different scoreboard based on the player's world, permission group, or a PlaceholderAPI condition. For example, during a server event you could switch everyone's scoreboard to display event scores and a countdown timer, then revert to the normal board when the event ends. AnimatedScoreboard supports basic per-world switching out of the box, but for conditional logic based on arbitrary placeholders, FeatherBoard or a custom plugin is the way to go.
Complete the visual package with a formatted tab list and custom join messages to make your server feel truly polished.
See these features in action: Astroworld MC runs economy survival with custom tab, scoreboard, join messages and crossplay. IP: play.astroworldmc.com