ServerScope — netdata-in-Minecraft: per-region TPS/MSPT metrics, Fabric HUD, Grafana panel
- Java 100%
| .forgejo/workflows | ||
| mod | ||
| netdata | ||
| panel | ||
| plugin | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
ServerScope — netdata-style metrics for Minecraft
Detailed observability for Folia/Luminol Minecraft servers: per-region TPS/MSPT/chunks/players/entities and whole-host CPU/RAM/network/disk — surfaced four ways:
- Server plugin (
plugin/) — a Folia-safe metric collector; exposesGET /metrics(Prometheus format) +GET /api/json, and pushes live snapshots to the client mod. - Fabric client mod (
mod/) — an in-game, netdata-style HUD overlay + full panel (sparklines, gauges, region table, host stats). Dormant unless the server runs the plugin. - netdata module (
netdata/) — a go.d Prometheus collector so netdata charts the MC server next to host metrics. - Web panel (
panel/) — Prometheus + Grafana with dashboards-as-code (overview / per-region / host / JVM).
Layout
plugin/ Folia/Luminol Paper plugin (Gradle + JDK 25 + Shadow)
mod/ Fabric client mod (Loom + Mojmap)
netdata/ go.d Prometheus collector config
panel/ Prometheus scrape config + Grafana provisioning & dashboards
Build
# Plugin (no host JDK needed)
docker run --rm -v "$PWD/plugin:/project" -w /project gradle:9.4.1-jdk25 \
gradle clean shadowJar --no-daemon
# -> plugin/build/libs/ServerScope-<version>.jar
# Fabric client mod
docker run --rm -v "$PWD/mod:/project" -w /project gradle:9.6.1-jdk25 \
gradle clean build --no-daemon
CI (.forgejo/workflows/) builds the same artifacts on a self-hosted runner.
Deploy
- Drop the plugin JAR into your server's
plugins/directory and start the server. It listens on0.0.0.0:9940by default (seeplugin/src/main/resources/config.yml). - Scrape it with Prometheus (
panel/) or netdata (netdata/), then view the Grafana dashboard. - Optionally install the Fabric client mod for the in-game HUD.
See each subdirectory's README.md for details. Configuration values that reference secrets
(basic-auth hashes, Grafana admin password) are read from environment variables — never commit them.
License
MIT — see LICENSE.