https://github.com/two-tech-dev/scorehud
A highly customizable plugin to add Scoreboards for Endstone software
https://github.com/two-tech-dev/scorehud
Last synced: about 1 month ago
JSON representation
A highly customizable plugin to add Scoreboards for Endstone software
- Host: GitHub
- URL: https://github.com/two-tech-dev/scorehud
- Owner: two-tech-dev
- License: mit
- Created: 2026-04-30T02:39:33.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-02T06:37:16.000Z (about 2 months ago)
- Last Synced: 2026-05-02T08:31:07.545Z (about 2 months ago)
- Language: C++
- Size: 66.4 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# ScoreHud
ScoreHud is an Endstone C++ plugin that displays a configurable sidebar scoreboard for Minecraft Bedrock Dedicated Server.
This project is an Endstone port of ScoreHud maintained by TwoTech. It targets the current Endstone world model and uses one global scoreboard layout from `default-board`.
## Features
- Configurable sidebar title and lines
- Optional flickering titles
- Built-in player and server tags
- Runtime tag refresh for TPS, tick usage, time, date, ping, health, item, position, and online count
- `/scorehud` and `/sh` command support
- Per-player HUD toggle with `/scorehud on` and `/scorehud off`
- Generated default `config.yml` and `scorehud.yml`
## Not Supported
Endstone does not currently expose PocketMine-style multiworld support. ScoreHud does not implement per-world boards, disabled worlds, or `scoreboards:` sections. Use `default-board` for every player.
## Requirements
- Endstone `0.11`
- CMake `3.15+`
- C++20 compiler
- Linux: Clang with libc++
- Windows: Visual Studio with Desktop development with C++
## Build
```bash
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
```
Linux builds should use Clang:
```bash
CC=clang CXX=clang++ cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
```
The plugin binary is written to the build directory:
- Linux: `build/endstone_scorehud.so`
- Windows: `build/Release/endstone_scorehud.dll`
## Install
1. Build or download the ScoreHud binary for your server platform.
2. Copy the binary into the server `plugins/` folder.
3. Start the server.
4. Edit the generated files in the ScoreHud data folder:
- `config.yml`
- `scorehud.yml`
5. Restart the server after changing configuration.
## Commands
| Command | Description |
| --- | --- |
| `/scorehud` | Show command usage |
| `/scorehud on` | Enable the sidebar for yourself |
| `/scorehud off` | Disable the sidebar for yourself |
| `/scorehud about` | Show plugin information |
| `/scorehud help` | Show command usage |
| `/sh` | Alias for `/scorehud` |
Permission:
```text
sh.command.sh
```
Default: everyone.
## Configuration
`scorehud.yml` controls the sidebar title and lines.
```yaml
titles:
flicker: false
period: 5
title: "§l§aServer §dName"
lines:
- "§l§aServer §dName"
- "§l§bServer §cName"
default-board:
- ""
- "§dName: §5{scorehud.name}"
- ""
- "§bOnline: §a{scorehud.online} §c/ §d{scorehud.max_online}"
- ""
- "§dTPS: §5{scorehud.tps}"
- "§bLoad: §a{scorehud.load}"
```
`config.yml` controls refresh behavior and formatting.
```yaml
tag-factory:
enable: true
update-period: 5
enable-memory-tags: false
time:
zone: false
format:
time: "H:i:s"
date: "d-m-Y"
```
## Built-In Tags
Common tags:
```text
{scorehud.name}
{scorehud.online}
{scorehud.max_online}
{scorehud.tps}
{scorehud.load}
{scorehud.time}
{scorehud.date}
{scorehud.x}
{scorehud.y}
{scorehud.z}
{scorehud.health}
{scorehud.max_health}
{scorehud.ping}
{scorehud.item_name}
{scorehud.item_count}
{scorehud.world_name}
{scorehud.gamemode}
```
Unknown tags render as empty text.
## Documentation
Wiki-style documentation is available in [`docs/wiki`](docs/wiki/Home.md).
## Project Layout
```text
include/
plugin.h
listener.h
scorehud/
score_tag.h
scoreboard_view.h
session_manager.h
settings.h
tag_resolver.h
src/
plugin.cpp
listener.cpp
scorehud/
score_tag.cpp
scoreboard_view.cpp
session_manager.cpp
settings.cpp
tag_resolver.cpp
```
## License
See [`LICENSE`](LICENSE).