Reading a Report
A report page shows one benchmark run: its score, what the measurements imply, the settings they justify and every test in detail. This page walks through it, then covers who can see a report, its notes, its raw data, how long it is kept and its share image.
The Header
The top of the page says what was measured and where:
- The title is the server's name when its owner shows the server on their public profile, the hosting provider and its plan for a certified report, and Benchmark Report otherwise. The server's banner and icon, a green check mark when the server is verified, and its address when its owner turned on Show address on reports, complete it. A report measured for a hosting provider's offer says Hosted by that provider.
- The badges give the visibility (Public, Unlisted, Private, Certified or Anonymous), the benchmark mode (STANDARD, STRESS LIMITโฆ), the scoring version and AUTO-BENCH when auto-bench ran it. Hover the scoring version to read what it means; earlier scoring marks a report scored with older rules than the current ones, whose score is not directly comparable with a recent one.
- Below, the date and time, the VoxelBench version that measured, and how long the run took. On a public or certified report, the owner's name leads to their public profile.
- The buttons: Add to Compare (see Leaderboard and Comparison), Badge and Share (see Share Image and Badge), and Report, which lets a signed-in visitor point the report out to the moderators.
A certified report adds a VoxelBench Certified banner, with a link to the certification. When plugins or mods known to distort benchmark results were detected on the server, This score may be misleading lists them.
Score and Verdict
On a standard run, the first block gives the Total score and the Rank, then the three families of the score, Single Core, Gameplay and Hardware, each with its bar. How this score is built leads to the detailed sub-scores at the bottom of the page. How each figure is computed is explained in How Scoring Works.
Next to it, The verdict says what the score means:
- the most serious finding of the diagnosis, with its consequence and the figures it rests on, or Nothing crossed a threshold when no measurement points to a defect;
- the weakest test, against the lowest TPS that all the other tests hold;
- how many tick tests are failed, critical, unstable and healthy;
- Non-default settings when the server's configuration differs from the defaults, and the Multipliers applied (synergy, stability, duration, GC).
When a required test failed or was skipped, the report gets no score and no rank (see How Scoring Works). The families that depend on that test read Fail or Not measured; hover the word to see which tests are concerned.
What Matters and the Settings It Justifies
What matters turns the diagnosis into cards, read from the measurements and never estimated. Each card has a severity (Critical, Warning or For information), a consequence, and often a Likely cause: such as a CPU quota, disk latency or a garbage collection pause. See the setting this justifies leads to the matching setting below. A Good to know card reminds you to compare with care when the server does not run default settings.
Settings your measurements justify lists, for a standard run, the settings that a measurement of this report calls for, grouped by where they live: JVM, Paper, Spigot, Bukkit or Server. Each one gives:
- where to set it: the Java start-up line, or the configuration file;
- the value to set, with a Copy button, and why this measurement calls for it;
- Currently, the value in use when the plugin could read it;
- Measured, the figure that crossed the threshold, and the threshold;
- Test to replay, the test that tells you whether the change helped.
Apply one setting at a time and replay the named test: until you have measured it, the effect is a hypothesis. When nothing crosses a threshold, the section says there is nothing to change. Briefing for a language model holds these settings and their figures in a form you can paste into an assistant to have them rewritten in prose: every number is already there, so the model has none to invent.
The API returns the same diagnosis and the same settings (/reports/{id}/diagnosis and /reports/{id}/tuning, see API and Tokens).
Test by Test
Test by test has one row per tick test, problems first:
| Column | What it shows |
|---|---|
| TPS ยท out of 20 | The average, and the worst 1 % |
| Tick cost (MSPT) | The average and the 99th percentile, against the 50 ms budget of a tick |
| Stability | Stable when TPS and MSPT vary by less than 10 %, Moderate under 20 %, Unstable beyond |
| State | Failed when the test failed; Critical or Unstable when the diagnosis found a problem on it, or when the plugin flagged the run as unsteady; Healthy otherwise |
Select a row to jump to the test. The memory, disk and multi-core tests have no row: they are read by their score. A skipped test has no row either; its card gives the reason.
Every measurement then shows each test in full, grouped by category. Tests in trouble are open, the others fold to their summary line. A test card gives its outcome (Passed, Failed or Skipped), the warnings the plugin raised (Unfiltered samples used, Heavy garbage collection, The run did not hold steady), Percentiles and stability, and the test's other fields under Raw data.
Skipped Tests
A skipped test is one the plugin chose not to run, or stopped to protect the server: it says nothing against the server, but it measured nothing either. Its card shows the reason in plain words, for example Skipped to protect the server's memory or No player online, with what happened. The full list of reasons, skipped and failed, is in Unit Tests. A reason sent by a newer plugin that the site does not know yet is shown as its code.
Machine and Server
Machine and server, folded by default, describes the environment:
- Hosting signals, when the figures reveal them: Degraded probe (hardware detection failed), Shared / throttled CPU (the host exposes far more CPUs than the server may use), Containerised, Disk quota, Low disk space. Hover a signal for its explanation.
- CPU Information: model, vendor, physical and logical cores, how many the server may use, maximum frequency.
- Server Information: server software and Minecraft version, Bukkit and Java versions, operating system, location (country), number of plugins, JVM memory, the container's memory limit (with a warning when the heap is sized at or above it), and the JVM flags, with an analysis of them.
What appears here depends on the plugin's anonymization level (see Privacy & Security).
Score Breakdown, at the bottom of a standard run, gives the sub-scores (Memory, Disk, Multi-Core; Exploration, Entities, Mechanics) and the four multipliers (see How Scoring Works).
Other Kinds of Runs
- Stress limit. The stress limit view replaces the score and the verdict: the Stress Score on the stress-limit scale, the rank, and the tiers the server went through before it broke (see Stress Limit).
- Custom benchmark. A Custom benchmark card says the run is view-only: it has no score and is never ranked.
- Custom profile. A card names the profile, its author, its version, how many runs used it, its tags and its description.
- Custom stress profile. Shown with the stress limit view, but marked Custom stress profile โ not scored: its thresholds and tests are the profile author's own, so the result is not comparable with the official stress limit.
These three kinds of runs are only accepted from a linked server, and can be private or unlisted, never public (see Custom Profiles).
Who Can See a Report
| Visibility | Who can open it | Where it is listed |
|---|---|---|
| Public | Anyone | The leaderboard, the search, your public profile |
| Unlisted | Anyone who has the link, without an account | Nowhere: no leaderboard, no search, no public profile, and no list of the API for anyone but you. Search engines are asked not to index it |
| Private | You; whoever holds the server that sent it, once they have verified it; and VoxelBench administrators, whom the page reminds that it is private | Only in your dashboard |
| Certified | Anyone, once the hosting provider has approved the certification | Like a public report |
| Anonymous | Anyone who has the link, for 30 minutes | Nowhere |
A report from a linked server starts Private; a report from a server that is not linked is Anonymous and belongs to no account.
Only the report's author, the account whose linked server sent it, changes its visibility, in three places: the visibility menu of the Your report ยท visible to you only band on the report page, the report's menu in Dashboard โ Reports (Make Public, Make Unlisted, Make Private), or the API with the reports:write scope. The holder of a verified server can read that server's private reports, but not publish them. On the report page, making it public asks for a confirmation, since its performance data becomes visible to everyone. The same rules apply in all three places:
- publishing a report or sharing it by link (public or unlisted) requires a verified email address;
- custom benchmarks, custom profiles and custom stress profiles can be private or unlisted, never public;
- a certified report's visibility is managed by the hosting provider, not by you.
Archive Report, in the same dashboard menu, removes a report from the leaderboard and from your public profile and deletes its detailed data. It cannot be undone.
Description and Private Notes
Edit notes, in the owner's band, holds two texts:
- Public description: the context of the run (tuning, configuration, plugins). It appears above the figures for anyone who can see the report. Up to 2,000 characters and 3 links; automated moderation checks it when you save.
- Private notes: your own notes, up to 5,000 characters, seen only by you and the site's moderators and administrators.
Moderators can edit the public description; only you can edit your private notes, on the report page as through the API (reports:write scope). Whoever holds the server, even verified, does not see them.
Raw JSON
Raw JSON, in the owner's band, downloads exactly the payload the plugin sent for this report. It is offered to the owner, and to VoxelBench administrators, whose download is recorded; never to moderators, hosting providers or visitors, even on a public report. Once a report is archived, its raw data is gone.
How Long a Report Is Kept
| Report | Kept |
|---|---|
| From a server that is not linked | 30 minutes after it was sent |
| From a linked server | 30 days after it was sent on Free; 1 year on Pro, Enterprise and hosting provider accounts |
| Certified | No expiry: the certification has its own |
| Attached to a hosting offer, or measured by VoxelBench | No expiry |
Under 7 days before the end, an Expiring Soon banner gives the time left. An expired report shows Expired Report until it is archived, within a day: its detailed data is then deleted and its page no longer opens. Unit test results follow their own rules (see Plans & Limits).
Share Image and Badge
When you paste a report's link in Discord, on X or on Reddit, the preview shows an image generated from the report: the total score, the three category scores, the rank, the report's position among public reports (Top N %), the date, the plugin and server versions, and the server's name, icon and banner when its owner shows it publicly (its address too, with Show address on reports). A certified report gets a green frame and a CERTIFIED mark. A custom run shows CUSTOM BENCHMARK, CUSTOM PROFILE or STRESS PROFILE instead of a score.
The image exists for public, unlisted and certified reports only: a private or anonymous report has none.
On a scored report, two buttons use it:
- Badge previews the image, and offers Download PNG, Copy image, Copy link and its Direct image URL, to embed it on a site or a forum.
- Share offers Copy link, Share on X, Share on Reddit, Compare with others, Download summary (a short text file) and a QR code.