Chart the worlds' players and awake time with mc-monitor #46
Labels
No labels
area/backups
area/ci
area/containers
area/mail
area/minecraft
area/network
area/observability
area/tls
area/tofu
kind
bug
kind
chore
kind
feature
kind
investigation
kind
security
priority
high
priority
low
priority
medium
status/blocked
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
hutao/vps#46
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The worlds' state is visible only right now: the in-game server list shows which worlds are asleep and how many players each has, and
scripts/rcon.sh <world> listanswers the same thing. Nothing records it over time, so "when do we actually play", "how long does a world stay awake" or "how often does the cap of two refuse a wake" have no answer.Not urgent. It is worth doing once one of those questions comes up for real, and not before.
Proposal
itzg/mc-monitorexport-for-prometheus, as one more container on the minecraft network, scraped by the Prometheus that Grafana already reads (localhost:9090). It pings each world with the Server List Ping and exports up/down, online players and response time per server. Then a Grafana dashboard: players online per world, and awake time per world.A game panel (Pterodactyl/Pelican, Crafty, MCSManager) is not the answer. Each one wants to own the servers' lifecycle and config, and that would compete with the Nix-declared worlds, mc-router's wake/sleep and the cap of two, and the packs built from git.
Questions to settle first
minecraftN:25565on the docker network should fail while the world is asleep, which is the signal wanted. Probe both before building on either.upto minecraft-scaler, so a scrape every 15s must not keep worlds awake. Checkjournalctl -u minecraft-scaleracross a few scrapes.Check
upwithout a login).