TickScopeСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачать
ВЕРСИИ (9)
release
TickScope 2.0.1
2.0.124 сент. 2026 г.389Minecraft: 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3folia, paper, purpur
Что нового
## Changes
- Add Minecraft 26.3 to the Paper compatibility listings on Modrinth and Hangar. The same
Java 17 plugin remains compatible with older supported versions; it is also compiled and
tested against the Paper 26.3 API in CI.
- Paper's 26.3 server builds are still marked alpha. Runtime compatibility on 26.3 has not
been smoke-tested, so use a stable Paper release for production servers.
**Full changelog:** https://github.com/gzimbric/TickScope/compare/v2.0.0...v2.0.1
release
TickScope 2.0.0
2.0.024 сент. 2026 г.6Minecraft: 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2folia, paper, purpur
Что нового
## Changes
- Metrics use base units and conventional names. Tick durations and player ping are in seconds;
JVM memory names end in `_bytes`. The Paper tick percentile label is now `statistic`.
Update custom queries with the [1.x to 2.0 migration guide](https://github.com/gzimbric/TickScope/blob/v2.0.0/docs/metric-migration.md).
- Paper world scans process a configurable maximum number of loaded chunks per tick instead of
walking every entity and tile entity in one tick. The default is 32 chunks per tick, and the
last complete sample remains available while the next scan runs.
- Repeated scrapes share a rendered metrics body until the snapshot or collection health changes.
The HTTP server also limits simultaneous connections from one address so a single slow client
cannot occupy every worker.
- The bundled Grafana dashboards and Prometheus alert rules use the 2.0 metric names and units.
- Release retries now verify any existing GitHub jar before replacing release assets. The release
workflow also publishes the same jar to Hangar and checks its checksum on retries.
**Upgrading:** existing configuration files continue to work. Custom queries and alerts that use
renamed 1.x metrics must be updated. The scan now gives a per-tick chunk budget; use
`entity-types.chunks-per-tick` to tune it. Scans can span multiple ticks, so per-world totals
represent an approximate view over the scan period. The endpoint still binds to loopback by
default; protect a network-facing listener with a firewall or rate-limiting proxy.
**Full changelog:** https://github.com/gzimbric/TickScope/compare/v1.5.0...v2.0.0
release
TickScope 1.5.0
1.5.05 сент. 2026 г.13Minecraft: 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2folia, paper, purpur
Что нового
## Changes
- **Collection health is now visible even when scrapes succeed.** New freshness timestamps,
enabled-stage gauges, and failure counters distinguish a working HTTP endpoint from a
stalled collector. `/tickscope status` also reports collection age and failures.
- **Eight ready-to-use Prometheus alerts** cover unreachable exporters, stale collections and
world scans, sustained low Paper and Folia TPS, high regional MSPT, heap pressure, and
incomplete Folia player sampling. The bundle includes tested hold durations and excludes
disabled collection stages and unsupported readings.
- **Folia sampling no longer builds a queue behind a lagging player.** Only one task per
player can remain outstanding. An unfinished batch publishes its available readings when
the next collection cycle starts, with completed and expected player counts showing the
coverage. Expired callbacks cannot overwrite the published results.
- Folia sample data and its generation are now published atomically, fixing a race where an
older callback could overwrite a newer reading after passing the generation check.
- **World exclusions and an entity-type allowlist** let operators narrow collection scope.
`exclude-worlds` skips named worlds before scanning; `entity-types.allowlist` limits the
per-type series while preserving full entity totals for included worlds.
- The Grafana dashboard now includes server names in legends, collection age, collection
failures, and Folia player coverage. An additional per-server overview repeats a row for
each selected backend.
- Malformed YAML and missing configuration files now reject a reload instead of silently
applying defaults, including an empty authentication token. Oversized port values are
rejected before integer conversion can turn them into a different valid port.
- Reloading or disabling TickScope now closes active and queued HTTP connections, including
clients that never read the response. Shutdown no longer leaves those sockets waiting
after their deadline watchdog has stopped.
- Disabling world metrics or narrowing filters removes the corresponding cached series
immediately. Still-enabled cached readings survive a reload until the next scan.
- Scheduled collection exceptions retain the last snapshot, increment failure counters,
and retry on the next cycle. Health readings remain available independently of snapshot
publication.
**Upgrading:** existing configuration files continue to work; the new filters default to
including every world and entity type. Add the optional settings manually to use them, and
re-import the dashboard to see the new panels. Collection-health timestamps and failure
counters reset on configuration reload. Folia ping and regional summaries can now represent
partial batches, so consult the coverage metrics alongside them. The default alert thresholds
assume the standard collection intervals; adjust them if you sample less often. Alertmanager
must be configured separately to deliver notifications. Setup instructions and metric semantics
are in the [monitoring guide](https://github.com/gzimbric/TickScope/blob/v1.5.0/docs/monitoring.md).
**Full changelog:** https://github.com/gzimbric/TickScope/compare/v1.4.0...v1.5.0
release
TickScope 1.4.0
1.4.013 авг. 2026 г.6Minecraft: 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2folia, paper, purpur
Что нового
## Changes
- **The metrics endpoint can no longer be silenced by a stalled client.** A connection that sent
a partial request previously held the only HTTP worker indefinitely, and every scrape timed out
until that client disconnected — with no token required, since parsing stalls before
authentication. The endpoint now runs on its own socket with per-connection deadlines and
recovers on its own. Still no runtime dependencies.
- `Authorization: bearer <token>` is now accepted alongside `Bearer`, as the HTTP specification
requires. A scrape configured with a lowercase scheme used to fail like a mistyped token.
- **Per-world entity and tile-entity totals moved to the slower scan interval**
(`entity-types.interval-ticks`). Counting tile entities walks every loaded chunk, and before
Minecraft 26 counting entities walked every entity, so neither belonged on the 5-second
collection cycle. `mc_world_chunks` and `mc_world_players` are unchanged and still sampled
every collection.
- These three series are now omitted on Folia rather than read from the global region, which does
not own the world data they walk.
- Readings the platform cannot supply are omitted instead of reported as zero. CPU load on a JVM
that does not expose it no longer looks like an idle server, and player ping is published only
when a player was actually measured.
- On Folia, a batch of per-player samples that finishes late is now used rather than thrown
away. With several regions lagging at staggered times no batch ever finished before the
next began, so ping and regional figures could stay frozen at the last success.
- Deaths cancelled by another plugin are no longer counted.
- A configuration value of the wrong type is now rejected with the setting named. `port: "9200"`
previously bound the default port and `per-world: "false"` silently stayed enabled.
- `/tickscope reload` reports what actually happened, including when a rollback failed, and two
simultaneous reloads on Folia can no longer leave an endpoint running that nothing can close.
- The entity-type series survive a reload instead of disappearing until the next scan, and
`/tickscope status` prints a valid URL for an IPv6 bind address.
- The bundled Grafana dashboard gained a Folia regions row; its tick panels were blank on Folia,
which is the one platform where those metrics do not exist.
- Release jars are now reproducible, so a download can be checked against its published checksum
by rebuilding the tag.
**Upgrading:** two panels can look empty after this release. `mc_player_ping_avg_ms` and
`mc_player_ping_max_ms` are absent while nobody is online, and the CPU ratios are absent on a JVM
that cannot report them, instead of both reading zero. That is the documented "missing series"
behaviour rather than a removal — add `or vector(0)` where a panel needs a visible zero, exactly
as the entity-type series already require. Per-world entity and tile-entity totals now refresh
every `entity-types.interval-ticks` (600 ticks) rather than every collection, so those graphs are
coarser; they are absent entirely on Folia.
**Full changelog:** https://github.com/gzimbric/TickScope/compare/v1.3.0...v1.4.0
release
TickScope 1.3.0
1.3.012 авг. 2026 г.6Minecraft: 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2folia, paper, purpur
Что нового
## Changes
- **Folia and Canvas support.** TickScope now runs on Folia-compatible servers and exports
`mc_folia_region_tps`, sampled at the locations of online players.
- **Regional MSPT** (`mc_folia_region_mspt_ms`) is exported where the server API exposes
per-region tick times, which today means Canvas. Pure Folia reports regional TPS only.
- Server-wide `mc_mspt_ms` and `mc_tps` are intentionally absent on Folia, which has no
truthful global equivalent, rather than being reported as a misleading single number.
- Entity-by-type metrics are disabled on Folia, where a world-wide entity walk has no safe
scheduler to run on.
- Release jars now ship a `.sha256` file alongside them so downloads can be verified.
Still one jar for Paper and Purpur 1.18.2 through 26.2, still no runtime dependencies.
**Full changelog:** https://github.com/gzimbric/TickScope/compare/v1.2.2...v1.3.0
release
TickScope 1.2.2
1.2.29 авг. 2026 г.6Minecraft: 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2paper, purpur
Что нового
## Changes
- Login counting moved to the async pre-login event, which the modern login pipeline is
guaranteed to fire.
- Added the Grafana dashboard and a security policy; long-form documentation moved to the wiki.
**Full changelog:** https://github.com/gzimbric/TickScope/compare/v1.2.1...v1.2.2
release
TickScope 1.2.1
1.2.19 авг. 2026 г.5Minecraft: 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2paper, purpur
Что нового
## Reliability and safer defaults
- `/tickscope reload` is now failure-safe and preserves event counters across reloads.
- Fixed duplicate event listeners and leaked HTTP executor threads.
- Fresh installs now bind to `127.0.0.1` by default. Docker users can explicitly select `0.0.0.0`.
- Invalid endpoint settings are rejected, and failed rebinds restore the previous working endpoint.
## New metrics and diagnostics
- Added `mc_tickscope_info` with TickScope, Paper, and Java versions.
- Added `mc_entity_collection_duration_seconds` for the entity-by-type scan.
- `/tickscope status` now shows the active endpoint and collection intervals.
- `mc_collection_duration_seconds` now covers the full main-thread collection.
## HTTP and testing
- The endpoint now handles `GET` and `HEAD` explicitly, returns `405` for unsupported methods, and does not serve child paths accidentally.
- Added automated tests and CI builds on Java 17, 21, and 25.
One dependency-free jar supports Paper 1.18.2 through 26.2 on Java 17 or newer. Existing configuration files remain compatible.
release
TickScope 1.2.0
1.2.08 авг. 2026 г.9Minecraft: 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2paper, purpur
Что нового
## Wider version support
One jar now covers **Paper 1.18.2 through 26.2**. The build targets Java 17, which is Minecraft 1.18's own runtime requirement, so there is no version-specific code and no meaningful change in size.
Verified against real 1.18.2, 1.19.4, 1.20.6, 1.21.4 and 26.2 servers: identical metric families, identical label values, no startup warnings.
## Optional bearer auth on the endpoint
`auth-token` in `config.yml` now requires `Authorization: Bearer <token>` on every scrape. It is **empty by default**, so nothing changes for an existing install. The comparison is constant-time and a refused scrape gets an empty body.
This is not confidentiality — the endpoint is plain HTTP. Put a TLS-terminating reverse proxy in front if the scrape path leaves a network you control.
## Fixed
Entity type labels are now the Minecraft **registry name** rather than the Bukkit enum name. Bukkit realigned the enum with the registry in 1.20.5, so on older servers 18 of 114 entity types were labelled differently — including `dropped_item`, now `item` everywhere. **No effect on 26.2**, where the two already agree.
## Upgrading
Drop the new jar in and restart. No configuration changes required.
release
TickScope 1.1.0
1.1.07 авг. 2026 г.11Minecraft: 26.2paper, purpur
Что нового
First Modrinth release.
A Prometheus exporter for Paper servers in a 28 KB jar with zero runtime dependencies. Exact MSPT percentiles from Paper's raw per-tick array, per-world entity/tile-entity/chunk/player counts, entities by type, JVM memory and GC, process CPU, and player event counters.
Scrapes never touch the server thread: collection runs on a scheduler task and publishes an immutable snapshot that the HTTP handler serialises.
Requires Paper 26.2+ and Java 25+.