Skip to content
Powrót do bloga
Minecraft server with custom HUD overlay displaying animated information and status displays

BetterHud: Adding Custom Server HUDs Without Mods

Alexandru Maftei
Alexandru Maftei
@ice
Updated
960 wyświetleń
TL;DR:BetterHud is a multiplatform server-side HUD plugin for Minecraft that lets you display custom animations, images, and text without requiring players to install mods. Supporting Bukkit, Velocity, and Fabric servers, it's designed for networks and RPG servers that need polished information displays.

"A multiplatform server-side implementation of HUD in Minecraft, supporting Bukkit(with Folia), Velocity, and Fabric."

toxicity188/BetterHud · github.com
⭐ 241 stars💻 Kotlin📜 MIT

Ever wanted to show custom HUDs on your server without forcing players to install a client mod? BetterHud solves that by adding server-side HUDs to Minecraft. It's a multiplatform plugin supporting Bukkit, Velocity, and Fabric servers, letting you display animations, images, and custom text without any client-side requirements.

What This Project Does

BetterHud is a server-side implementation of custom HUDs - think of it as a way to overlay information on players' screens without them needing to install anything. Normally, if you want to add fancy graphics or HUD elements to your server, you'd need to either tell players to download a client mod or stick with basic scoreboard text. BetterHud bypasses that problem entirely by handling everything on the server and sending the resources down to clients.

The plugin auto-generates a resource pack and serves it to players joining your server. That pack contains the textures, animations, and layouts you define.

What's genuinely impressive here's the scope: you can display static images, animated image sequences (PNGs), player heads, formatted text, and even mathematical expressions for dynamic values. All server-side, all without touching player installations.


Why You'd Use This

Let me be direct - this isn't for tiny vanilla survival servers. It's for networks, minigames, and RPG servers where you want to show players information in a way that looks polished and doesn't feel like a hack using scoreboards.

Real use cases:

  • Quest trackers: Show active quests, objectives, and progress directly on screen
  • Minigame HUDs: Display round timers, team scores, or ability cooldowns
  • RPG stat displays: Health bars, mana pools, experience progress, skill trees
  • Admin dashboards: Quick info about server health (pair this with a server status checker to monitor things)
  • Competitive leaderboards: Show rankings in real-time during matches

The animation support means you can do subtle effects - glowing borders, pulsing icons, progress bars that fill smoothly instead of jumping in chunks. It feels modern because it actually is.


Getting Started (Installation)

BetterHud ships as separate JARs depending on your platform. The latest stable release is version 2.0.0, built for Java 25 and Minecraft 26.1.x.

For Bukkit servers (Spigot, Paper, Folia), grab the Bukkit JAR and drop it in your plugins folder:

bash
# Download from SpigotMC, Hangar, or GitHub releases
wget https://github.com/toxicity188/BetterHud/releases/download/2.0.0/BetterHud-bukkit-2.0.0.jar
mv BetterHud-bukkit-2.0.0.jar./plugins/
# Restart your server

For Velocity proxy networks, there's a dedicated Velocity JAR:

bash
wget https://github.com/toxicity188/BetterHud/releases/download/2.0.0/BetterHud-velocity-2.0.0.jar
mv BetterHud-velocity-2.0.0.jar./plugins/

Fabric servers use the Fabric mod (requires Fabric API as a dependency, but no client-side mod required - only on your server).

After installation, the plugin creates its config files and starts handling HUD delivery. No additional setup wizard; it's designed to be drop-in.


Features That Matter

BetterHud's real strength is flexibility. You're not locked into preset layouts. You define HUDs through config files using YAML and JSON, then reference them in your plugin code if you're writing integrations.

Multi-platform support: This is the overlooked advantage. You can run the same HUD logic on Bukkit AND Velocity simultaneously. Your HUD definition doesn't care which platform it's running on - you write it once and it works everywhere. That's rare in the Minecraft plugin ecosystem, where most tools are Bukkit-only.

Auto-generated resource packs: Rather than manually crafting resource packs, BetterHud generates them from your config. Want to update a texture? Change the config, restart, done. No pack rebuilding workflow.

Animation support: Define frame-by-frame animations using image sequences or set animation timing in your configs. Progress bars, loading spinners, status effects - all possible without custom rendering code.

Dynamic values: Use exp4j expressions in your configs to compute values on the fly. Temperature display that changes with world time? An XP bar that shows a formula based on player stats? Yes to both.


Tips and Common Pitfalls

Resource pack size matters. If you're generating a massive pack with hundreds of textures, distribution can lag. Keep your texture assets reasonable and consider serving packs from a CDN if you're running a large network.

Actually, let me correct that - BetterHud auto-generates packs, so you're not manually managing bloat, but you should still be thoughtful about how many unique HUD elements you define. More elements = bigger pack.

Player clients can reject resource packs. If a player has pack downloads disabled in their client settings, they won't see your HUDs. That's a Minecraft client limitation, not BetterHud's fault, but it's worth knowing when designing HUDs for your server - always have a fallback display method (even just chat messages).

Coordinates matter when positioning HUDs on screen. Spend time testing different anchor points and offsets to make sure your HUD doesn't clip into other UI elements across different resolutions.

The plugin is written in Kotlin (a JVM language), so it integrates smoothly with existing Bukkit/Java ecosystem tools. If you're building plugin features on top of BetterHud, it's worth checking the GitHub wiki and example plugins like BetterHud-MMOCore to understand the API.


Similar Projects You Might Consider

Floodgate + GeyserMC: These handle cross-platform player support (Java + Bedrock), not HUDs specifically, but sometimes people confuse them. These are complementary to BetterHud, not alternatives.

ScoreboardAPI or StatsPro: Traditional scoreboard plugins for displaying info. They work but feel dated compared to custom HUD rendering. Real talk, if you need something quick and lightweight, they're fine; if you want modern visuals, BetterHud is the better choice.

Skript with display systems: Advanced Skript servers sometimes build custom displays using plugins like Citizens or ItemDisplay entities. This is more flexible but requires significant development time and server resources. BetterHud is lighter and more purpose-built.


One Thing Worth Knowing

GitHub shows 241 stars for this project, which might sound small, but that's actually solid for a specialized server tool. The active community on the project's Discord and consistent updates (2.0.0 just landed with Java 25 and Minecraft 26.1.x support) suggest this is maintained and moving forward. If you're running a 1.21+ server, you're in good shape compatibility-wise.

If you run a network with multiple servers, consider pairing BetterHud HUDs with visibility into your server's actual health. A DNS management setup keeps your servers connected smoothly, and tools like the server status checker let you monitor uptime - useful context when your HUDs are displaying real-time metrics.

Visit toxicity188/BetterHud on GitHub ↗
About the author
Alexandru Maftei
Alexandru MafteiLead Writer

Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.

Share with your friends!

Frequently Asked Questions

What Minecraft versions does BetterHud support?
BetterHud 2.0.0 supports Bukkit/Folia 1.21–26.1.x, Velocity 3.3-3.5, and Fabric server 26.1.x. The project tracks the latest Minecraft releases closely—version 2.0.0 was released with Java 25 and Minecraft 26.1.x support, so compatibility is current.
Do players need to install a client mod?
No. BetterHud is entirely server-side. The plugin generates and auto-distributes a resource pack to joining players. Players don't install anything—the server handles all HUD delivery through standard Minecraft resource pack mechanics.
Can I use BetterHud with my existing plugins?
Yes. BetterHud is designed to coexist with other plugins. It provides an API for plugin developers to create custom HUDs programmatically. Example integrations exist (like BetterHud-MMOCore), and the project is built on common libraries (Adventure, HikariCP, GSON) that most plugin ecosystems already use.
Is BetterHud free to use?
Yes. BetterHud is released under the MIT license, which means it's completely free and open-source. You can use it on any server, modify it if needed, and share it without restrictions as long as you include the license.
What are the main differences between BetterHud and traditional scoreboards?
BetterHud lets you display animated images, player heads, and custom textures in any screen position, whereas scoreboards are text-only and limited to a fixed right-side layout. BetterHud looks more modern and polished but requires more setup; scoreboards are simpler but visually basic.