promotional bannermobile promotional banner

Chronicle Stats

Statistics for Hytale servers. /stats and /top in game, and a web dashboard served by the plugin with a character sheet for every player, leaderboards, boss records and server performance. Server side.
Back to Files

ChronicleStats-1.5.0.jar

File nameChronicleStats-1.5.0.jar
Uploader
ryvrookryvrook
Uploaded
Oct 16, 2026
Downloads
10
Size
2.0 MB
File ID
9215709
Type
R
Release
Supported game versions
  • 0.7

What's new

1.5.0

For players

  • The web dashboard asks its questions and writes its notes in plainer words.

For admins

  • Three new keys in chronicle.json, feats, atlas and dominion, each auto, always or never like tracker and coinage. never leaves that plugin alone, so Chronicle stops reading the Feats event, API and feats.json, keeps its own logins apart from Atlas, or stops reading Dominion's snapshot.json. always logs one line at start when the plugin is missing. All three apply live on /chronicle reload.
  • featsBinding is gone. A file that says false gets feats set to never and the old key is dropped on the next write.
  • /chronicle admin status names Feats and Dominion with their versions, says when a link is off by its key, lists Lullaby as installed with no link, and names SocialBridge and RestAPI when they read ChronicleApi.
  • Chronicle reads the version of Dominion's snapshot and logs once when it is newer than the version 1 it knows, then reads the fields it knows.
  • A server stop no longer hangs for 20 seconds in Chronicle. A poll that looked up a plugin while the plugin manager was stopping parked on the manager's lock and held up Chronicle's scheduler. Lookups now never wait for that lock, and the scheduler gets 1.5 seconds at stop.
  • The manifest lists Ryvrook:Feats from 1.2.0, the first Feats with the unlock event and API that Chronicle binds, instead of 1.5.0. Older Feats is read through its export only, as before.
  • A /plugin reload of Chronicle reloads every enabled plugin that lists Ryvrook:ChronicleStats under its dependencies two seconds later, SocialBridge and RestAPI today, so they bind to the new instance. The pass takes the same lock as TrackerAPI's and Coinage's, so a plugin reloaded by one of them is left alone.
  • A record its own holder keeps raising, such as the best kill streak of a player who never dies, is announced once and then at most once a day, set by recordSameHolderQuietSeconds (86400). In between the value is still saved and its one line in Happening now updates in place. A new holder is always announced.
  • recordQuietSeconds sets that window per record key, for example "best:best_killstreak": 7776000 for 90 days.
  • /chronicle admin record mute <recordKey>, unmute and muted. A muted record is still tracked and shown on the Records page with a muted mark, but gets no toast, no feed line and no onRecord, so SocialBridge and RestAPI stay quiet as well. Mutes are kept in server/records.json and in the new mutedRecords list of chronicle.json, and the command writes both.
  • publicUrl is now also the address other plugins get. Empty, it is built from bind, port and basePath, and on the default bind of 0.0.0.0 other plugins get no address at all, so SocialBridge shows no dashboard link until you set it.

For plugin authors

  • ChronicleApi.API_VERSION is 2.
  • ChronicleApi.onEnable(Consumer<ChronicleApi>), onDisable(Runnable), removeHooks and isPresent(). The enable hook runs at once when Chronicle is up and again after every start.
  • address() and playerAddress(UUID) give the dashboard address and a player's page, null when the web page is off, the host is unknown or the player is hidden from the public. version() gives the Chronicle version.
  • onRecord(Consumer<RecordBroken>) hears every live first, best, fastest time and milestone on the Chronicle scheduler, and recentRecords(int) lists the newest. Hidden holders come as "A player" with no uuid.
  • board(key, window, worldKey, limit) and boardAsync give any board in any window, boardKeys() the keys, serverTotals() and online() the server block of the export, and seriesIds() and series(id, Resolution, from, to) the minute, hour and day series behind the Performance and Activity pages.

Upgrading

  • Swap the jar. chronicle.json gains feats, atlas and dominion on the next start, all auto unless featsBinding was false, and recordSameHolderQuietSeconds, recordQuietSeconds and mutedRecords.

This mod has no additional files